dp runtime V1概要设计

发布时间 2023-05-30 19:34:40作者: 李志涛

背景介绍

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