数据复制方案
数据复制的方案的总体思路是,基于源数据库informix的逻辑日志把源库数据库做操作还原从可以在目标库重新redo的SQL(可以按照项目实际需求配置同步哪些表的哪些列),把还原后的信息缓存在kafka消息队列种,有投递端进行投递。
总体架构
实时同步方案由四个子系统组件组成,分别是数据捕获组件、消息队列组件、数据投递组件和管理组件 :
² 数据捕获组件,从数据源获取并解析增量数据逻辑日志,按照特定的协议标准封装后发送给消息队列;
² 消息队列组件,传输和缓冲数据捕获组件发送的数据。目前选用Kafka
² 数据投递组件,从消息队列组件中获取协议数据,并根据目标库的类型,组织和优化数据,将数据写入目标数据库(事务严格一致性模式,秉性最终一致性模式);
² 管理组件,启、停和监控数据捕获、投递组件,校验源和目标端数据同步相关配置信息。
高可用原理及断点续传
原理说明
同时启动RTSync R1 和R2,获取到zookeeper分布式排它锁的为主,进行日志解析,并事务还原格式化,把数据发送到缓存kafka种,并把对应lsn或者scn及全局sequence信息记录在本地和Zookeeper中,用于断点续传;
当主断网、断电等导致服务不可用时,zookeeper的分布式排它锁超时后自动释放,备获取到锁,从zookeeper中获取lsn或者scn以及全局sequence信息继续连接到源库进行日志挖掘;
部署架构
数据复制部署分单点模式和高可用模式两种,每套rtsync建议支持4个源端数据库,若项目上有多个源库需要同步,建议部署多套。
单点模式:rtsync,zookeeper,kafka所有组件部署在一台服务器上,多用于可行性验证,开发环境。
高可用模式:rtsync部署主备,3个节点zookeeper和2到3节点的kafka,服务器可以根据项目实际情况选择是独立使用,还是跟其他应用公用服务器。
5台服务器部署方案:
在客户现场服务器资源充足的情况下,为了确保RTSync运行高可用,建议现场安装部署提供5台服务器进行RTSync、zookeeper、kafka的高可用整体环境搭建,具体如下:
RTSync主节点部署:1台服务器;
RTSync备节点部署:1台服务器;
Zookeeper+kafka:3台服务器。
3台服务器部署方案:
3台服务器进行RTSync、zookeeper、kafka的高可用整体环境搭建,具体如下:
Ø RTSync主节点部署:1台服务器;
Ø RTSync备节点部署:1台服务器;
Ø Zookeeper+kafka:3台服务器(其中两台与主备节点复用)。
此方案在机器资源有限的情况下既保证了RTSync工具的高可用,同时也确保zookeeper、




