【多数据中心】分布式数据同步设计方案

JD_databus是一个针对多数据中心项目实现MySQL数据同步的解决方案,支持双向复制和故障切换。系统基于ROW Binlog,提供复制延迟监控、自动负载均衡和丰富的可视化管理。它包括SDBI、RS、RC、TDBI四个组件,通过Pipeline、Group、Scheduler等模块实现高效的数据同步和故障恢复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

介绍

特性

架构总述


介绍

       JD_databus是为满足多数据中心项目的mysql在数据中心间复制的需求所产生的。最开始JD_databus是在LinkedIn的databus的基础上开发的,本次设计考虑到可维护性、代码的简洁、需求的快速迭代,决定重新开发。设计和开发过程中参考了Databus、Canal/Otter的一些好的思路,对于Binlog解析部分则直接使用了她的dbsync模块。

特性

  • 基于MySQL的ROW Binlog进行双向复制,可以实现MySQL的双主、多主模式;
  • 自动负载均衡、故障切换;
  • 基于Binlog日志位置或时间点回滚/重做;
  • 可指定跳过阻塞复制的SQL;
  • 可批量合并SQL、优先并行入库,失败自动降级为串行入库;
  • 复制延迟监控报警;
  • 内置丰富的可视化节点状态、metrics;
  • 和UMP、JONE集成;

架构总述

Pipeline

复制管道由SDBI(源数据库实例)、RS(Relay Server,缩写下同)、RC(Replicator Client,缩写下同)、TDBI(目标数据库实例)这四个组件组成。RS通过mysql的复制协议拉取SDBI的binlog增量变更事件,RC通过自定义RPC协议从RS拉取事件,然后使用JDBC协议写入TDBI。

Group

若干同类pipeline的集合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值