dp runtime V1概要设计
背景介绍
DP数据同步产品,在客户环境长期运行过程中,发现runtime主要存在以下2类问题:
- 当前架构下,worker集群管理依赖kafka,同时kafka也会承担数据缓存职责,这二项工作存在相互影响导致worker集群不稳定
- worker节点工作负载不均衡
为了解决上述的问题,需要重构现有的架构设计,解耦worker集群管理对kafka依赖,提供细粒度的任务分配机制,本方案核心思路:
- 提供coordiantor功能,由coordinator负责集群管理和任务调度工作
- 弱化worker在任务分配中作用,worker只做task的执行器
预期架构设计
上述runtime技术架构图中,由webservice、manager、coordinator、worker、DB五部分组成
webservice:
为前端提供rest服务
manager:
负责向coordinator发送task配置。
DB:
负责存储task元数据信息(配置、状态、source进度)
coordinator:
- 提供API接口
- 负责task调度
- 任务分配(task负载均衡)
- 多种形式的调度(手动、自动、定期)
- 负责worker集群和状态管理
- worker HA
- worker资源(与DCC、K8S等第三方系统打通)
- worker扩缩容
- 负责cn jraft管理
- coordinator HA
- worker group元数据管理
- 负责task配置管理及持久化
worker:
- 负责管理task执行单元
- 负责管理task运行状态和source进度及持久化
- 数据上报
组件交互与流程
现状技术架构下创建一个task核心流程
预期技术架构下创建一个task核心流程
runtime v1迭代核心工作内
博客来自李志涛:https://www.cnblogs.com/lizherui/p/17444192.html
线上故障