赞
踩
最近在做redis和MySQL的缓存一致性,一个方式是订阅MySQL的BinLog文件,我们使用阿里巴巴的Canal的中间件来做。
Canal是服务端和客户端两部分构成,我们需要先启动Canal的服务端,然后在Go程序里面连接Canal服务端,即可监听到MySQL的数据变化。
QuickStart · alibaba/canal Wiki (github.com)
步骤都很简单,我们重点看一下/tmp/canal/conf/example/instance.properties里面配置文件
Canal之所以能订阅MySQL的binlog是把自己伪装成了一个MySQL从机,主机会不停的给MySQL的从机传输binlog文件。 等于启动Canal服务的过程包含了主从复制的配置过程,主从服务的过程是告诉从机主机的账号密码

基于docker启动的canal服务,按照官方文档操作出现了问题,所以使用了普通的启动方式

官方文档上面没有任何说明,我们需要自己翻一下代码

把代码拷贝下来即可

关于上面配置信息,具体可以参考Go操作阿里开源的框架Canal用于MySQL实时binlog同步 - 简书 (jianshu.com)
还有最最重要的一步,开启阿里云服务器安全组11111端口

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。