DRC(Data Replicate Center)
DRC用来做什么?
数据双向复制和数据订阅。
比如:跨机房的 Mysql 数据复制。
比如:数据订阅,监听数据库实时变更情况。
DRC设计目标?
1. 实时双向数据复制,延时 < 1s ,并能够解决双向修改时的数据冲突。
2. 数据变更订阅,能够在DB数据发生变化时通知到相关订阅方。
3. 高度可靠和保持顺序,不能丢失数据,也不能因为错乱执行顺序导致数据错误。
DRC主体设计?
-
总体架构设计?Replicator 获取 + Apply 投递。
DRC核心能力就是 数据获取 和 投递。(有点像送外卖的) 数据获取主要是 Replicator,负责从源头数据库拉取变更。(集群化部署方式) 数据投递主要是 Apply,负责投递到目标数据库。(集群化部署方式)
-
replicator实现细节?
1. 主从集群方式。(可靠性) 1.1 Replicator Slave是一种稍微特殊的 Replicator,从 Master Replicator 拉取 `DataChangeEvent`,并保