Skip to content

Latest commit

 

History

History
41 lines (27 loc) · 1.52 KB

data-sync.md

File metadata and controls

41 lines (27 loc) · 1.52 KB

Data Sync

数据同步简要设计文档

功能设计

数据变更

  • 通过Flink CDC将数据变更日志写入到Kafka消息队列中
  • Kafka根据过期时间清理日志,不建议通过日志大小进行清理,也可配合消费分组的Lag手动进行清理

变更日志

  • 将数据变更持久化到HBase中,以Kafka的Offset作为Rowkey,并设置TTL过期时间
  • 将数据变更时间点和偏移记录到配置中心并更新缓存
  • 根据授权策略,发送消息通知,将变更摘要下发给客户端

配置中心

  • 配置中心维护客户端的数据访问范围权限
  • 记录服务端数据变更的时间点和日志偏移
  • 记录客户端最后同步的时间点和日志偏移
  • 记录异常情况并预警,如客户度长时间不同步或变更日志过期丢失

数据同步

  • 客户端接受变更通知或启动定时任务,通过接口批量拉取变更日志
  • 服务端根据授权范围返回可同步的数据记录并记录待确认的状态
  • 客户端将数据记录清洗到目标系统中并发送ACK确认
  • 服务端记录客户端的同步时间点和日志偏移

全量同步

  • 当目标系统首次上线或同步异常时需要进行初始化
  • 初始化程序批量读取原始数据按策略同步至目标系统
  • 不建议由客户端发起全量同步操作,通过拷贝数据副本的方式更佳

其他事项

  • 建议将同步数据与目标系统的业务数据进行分离存储
  • 索引数据必须可通过其他持久化存储进行重建