mysql跨机房数据延迟_Mysql跨机房同步方案

假设现有两个机房,需要做到数据同步。

以下是架构图(实际架构图根据现有机房架构和实际会比下图复杂,但整体思路不变):

eefa4445df99e98d0b724da5b820c3da.png

Mycat、Canal、Otter是关键的三项技术:

Mycat:数据库分库分表中间件,可以管理一个mysql集群,屏蔽了mysql集群,对外伪装成mysql server,用户无感知mysql集群。

Canal:阿里巴巴开源产品,可以读取mysql二进制日志文件,并解析成想要的数据。

Otter:阿里巴巴开源产品,配合Canal可以做到读取二进制文件,解析出增量数据sql,然后执行sql到指定连接。

流程:

1、用户插入一条数据到mycat

2、mycat解析sql,分配sql到指定mysql数据库

3、mysql(假设M1接收到数据)数据库接收数据,根据主从配置,写出二进制日志。

4、mysql(M2)读取二进制日志同步数据,mysql(S)读取二进制日志同步数据,并写出二进制日志

5、Canal读取二进制日志,解析成sql

6、Otter接到sql,获取连接,在机房B的mycat上执行sql

7、Otter收到sql执行回执,执行完毕。

注:

本文给予思路及具体技术方案,具体技术的应用及使用,请自行google。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值