Canal高可用模式介绍
Canal HA一共分为两部分,分别为Canal Server HA 和 Canal Client HA
Canal Server HA
说明
需要特别说明的是,Canal 集群的高可用 不是基于Server级别的,而是基于instance级别的,而一个instance对应的是一个mysql实例。
打个比方
假如一共安装了两个Canal Server,数据库端一共有两个instance 需要连接,如果要实现高可用的话,需要在每个Canal Server都配置上这两个instance ,当两个Canal Server启动的时候这两个Canal Server的各两个instance 都会试图去连接这两个 mysql,如果其中一个连接成功,则会在 zookeeper 对应位置注册节点,而另一个Canal Server的instance因为没有抢占成功,处于standby状态。如果当前instance 在与mysql 建立连接并进行binlog解析时,发送一定次数的连接异常,则将会判断为当前instance失效。zookeeper删除相应节点,再次触发抢占。
部署步骤
修改canal.properties文件
canal.zkServers=xxx:2181
canal.instance.global.spring.xml = classpath:spring/default-instance.xml
canal.instance.mysql.slaveId = 1234 ##另外一台机器改成1235&#x

本文介绍了Canal的高可用模式,包括Canal Server HA和Canal Client HA。Canal Server HA基于instance级别的高可用,通过Zookeeper进行节点注册和故障切换。Canal Client HA通过监听Zookeeper节点变化,实现动态连接新的instance。详细步骤包括配置canal.properties和instance.properties文件,以及在Zookeeper中监听和响应变化。此外,文章还提到了Canal与Zookeeper的节点关系,并提供了Canal Server的部署流程。
最低0.47元/天 解锁文章

1万+

被折叠的 条评论
为什么被折叠?



