开发者社区> 问答> 正文

canal-adapter 1.1.5 可以高可用吗

canal_deployer 作为服务server,解析mysql的binlog,canal-adapter的tcp模式连接服务server,是可以把数据同步至mysql。

我出现的问题是,假如canal-adapter挂掉,作为服务server还在跑着。当再次启动canal-adapter时,会造成数据丢失。

请问canal-adapter 1.1.5怎样高可用?

原提问者GitHub用户cuishixu

展开
收起
山海行 2023-04-27 10:24:00 91 0
2 条回答
写回答
取消 提交回答
  • canal-server端用阻塞队列保存binlog解析后的数据,当队列满时,若adapter没消费成功(返回ack)的话,server是不会再继续解析数据的,理论上是不会出现丢失

    原回答者GitHub用户pengchen211

    2023-04-27 20:51:35
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    可以使用多个canal-adapter实例来实现高可用性。可以使用负载均衡器(如Nginx或HAProxy)将流量分发到多个canal-adapter实例上。这样,如果一个实例出现故障,负载均衡器将自动将流量转移到其他实例上,从而避免数据丢失。此外,您还可以使用其他技术来增强可用性,例如使用主从复制或多主复制来复制数据,以便在一个实例故障时自动切换到另一个实例。

    2023-04-27 15:00:33
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载