李志涛

导航

去kafka依赖runtime版本梳理

背景

xxx数据同步产品,在客户环境长期运行过程中,发现runtime主要存在以下问题
• 当前架构下,worker集群管理依赖kafka,kafka同时承担任务分配协调和数据缓冲二项职责,当Kafka作为数据缓存不稳定,这二项工作相互干扰导致worker集群不稳定

解决方案

• 为了解决上述的问题,需要重构现有的架构设计,解耦worker集群管理对kafka依赖。具体做法是把kafka中groupcoordinator模块用java语言重写,并独立出来作为一个服务,命名为coordinator

runtime新方案

runtime去kafka依赖,新增了2个组件DB和connector-coorinator
Coordinator:
• 负责管理task任务分配
• 负责worker HA
• 新增jraft模块,用jraft实现coordinator HA
DB:
负责存储元数据信息(task配置、状态、source进度)

依赖kafka的runtime版本创建task核心流程

 去kafka依赖的runtime版本创建task核心流程

 

posted on 2023-05-30 18:29  李志涛  阅读(29)  评论(0编辑  收藏  举报