暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

技术分享|GBase数据库数据复制及同步

天之痕 2022-01-21
1535

数据复制方案

数据复制的方案的总体思路是,基于源数据库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、

 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论