开发者社区> 问答> 正文

Canal Server HA切换时会同步binlog的offset信息吗?

Canal Server HA切换时会同步binlog的offset信息吗?

原提问者GitHub用户nbqyqx

展开
收起
绿子直子 2023-05-09 10:24:00 81 0
2 条回答
写回答
取消 提交回答
  • 会的,可以把位点记录到zookeeper中

    原回答者GitHub用户agapple

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

    在Canal Server HA切换时,新的Canal Server会从上一个Canal Server的binlog position开始消费binlog,也就是保证了binlog的同步性。这个过程中,Canal Server会使用zk进行协调,新的Canal Server会尝试获取zk上的binlog offset信息,然后从上一个Canal Server的binlog position处开始消费binlog。

    具体来说,当旧的Canal Server宕机或者被主动关闭时,zk上的节点信息会发生变化,新的Canal Server会监听zk的变化,并尝试获取binlog position信息。如果获取到了binlog position信息,就会从该位置开始消费binlog。如果没有获取到binlog position信息,就会从最新的binlog位置开始进行消费。

    需要注意的是,在Canal Server HA切换时,由于新的Canal Server从上一个Canal Server的binlog position处开始消费binlog,因此在切换过程中可能会出现一些重复数据。这个问题可以通过在Canal Client中进行过滤来解决。

    2023-05-09 10:29:43
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PolarDB-X 2.0 全局 Binlog 与备份恢复能 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载