Event中台项目
项目介绍:Event是一个汇总所有模块信息的系统。由于公司是做跨境电商的,所以会设计Campaign,AdGroup,Keyword,
Product等参数的调整,这是公司所有业务最底层的SDK。然后公司开展的一些业务,包含Rule,AI,DayParting,Bulk等操作都是对SDK底层的调用再封装,开展一些自动化的业务。Event正是对这些操作的结果进行的可视化展示,包含日志的形式,图表的形式,既是跟客户信息的交互,也方便开发者日记追溯。总之,公司所有的项目模块都需要接通Event服务。
技术栈:ShardingJDBC,Kafka消息队列,K8s集群,分布式锁,幂等,ES,决策树,eventBus
攻克过的难题:由于全公司数据都会汇总event,所以QPS和TPS会收到一定的挑战,需要做到高并发下高可用。在这种场景下重复消费,消息丢失都有可能随着网络的波动发生,这是技术上的挑战。接着是业务复杂度的挑战,既然是要汇总全公司数据,必然要兼容所有平台和业务场景。这里我用自研的可配置一致性Hash算法和决策树算法兼容后台接口,以及一些业务不通用的场景皆做到可配置,最终做到了业务扩展零代码。