开发者社区> 问答> 正文

mysql 针对实例到实例层面的同步,应该选用怎么样的方案?

canal + canal_client 好像不支持 rocketmq 作为消息中间件,因此担心在 canal 到 canal_client 之间的网络存在波动时,有丢失数据的可能

canal + rocketmq + canal_adapter 只能做到表对表之间的数据同步,并且无法同步DDL语句

请问下大大,应该使用怎么样的方案,能够实现 mysql 实例到实例层面的同步

原提问者GitHub用户Near-Zhang

展开
收起
古拉古拉 2023-05-08 17:05:25 109 0
2 条回答
写回答
取消 提交回答
  • canal + canal_client ,不会丢数据。 可以扩展adapter功能, adapter是一个自由式的可插拔插件

    原回答者GitHub用户agapple

    2023-05-09 18:36:50
    赞同 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

    针对MySQL实例到实例层面的同步,可以考虑使用以下方案:

    1、使用MySQL自带的复制功能,即主从复制或者组复制。

    这种方式可以支持DDL语句的同步,并且在网络波动时,MySQL会自动重传数据,从而保证数据的一致性和可靠性。但是这种方案需要手动配置和管理MySQL的复制功能,需要考虑复制延迟和数据一致性等问题。

    2、使用第三方工具,如Maxwell、Debezium等。

    这些工具都可以实现MySQL实例到实例层面的同步,并且支持DDL语句的同步。这些工具都是基于binlog的,可以实现增量同步数据,并且在网络波动时可以进行数据重传,从而保证数据的可靠性。

    3、使用canal + rocketmq + canal_adapter的方案。

    虽然这种方案只能实现表对表之间的数据同步,且无法同步DDL语句,但是可以支持更灵活的数据处理和扩展。同时,在canal和rocketmq之间可以使用消息重试和延迟队列等方式,提高数据的可靠性。但是需要注意的是,需要在canal_adapter中处理好数据的一致性和可靠性问题,以保证数据同步的正确性。

    2023-05-08 17:32:24
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像