当前位置:   article > 正文

Golang通过alibabaCanal订阅MySQLbinlog_golang 监听 binlog 需要数据库什么配置

golang 监听 binlog 需要数据库什么配置

最近在做redis和MySQL的缓存一致性,一个方式是订阅MySQL的BinLog文件,我们使用阿里巴巴的Canal的中间件来做。

Canal是服务端和客户端两部分构成,我们需要先启动Canal的服务端,然后在Go程序里面连接Canal服务端,即可监听到MySQL的数据变化。
 

启动Canal服务

QuickStart · alibaba/canal Wiki (github.com)

步骤都很简单,我们重点看一下/tmp/canal/conf/example/instance.properties里面配置文件

 Canal之所以能订阅MySQL的binlog是把自己伪装成了一个MySQL从机,主机会不停的给MySQL的从机传输binlog文件。 等于启动Canal服务的过程包含了主从复制的配置过程,主从服务的过程是告诉从机主机的账号密码

 补充

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

Go连接Canal服务端

 Canal支持Go连接
withlin/canal-go: Alibaba mysql database binlog incremental subscription & consumer components Canal's golang client[阿里巴巴mysql数据库binlog的增量订阅&消费组件 Canal 的 go 客户端 ] https://github.com/alibaba/canalhttps://github.com/withlin/canal-go

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

 把代码拷贝下来即可

关于上面配置信息,具体可以参考Go操作阿里开源的框架Canal用于MySQL实时binlog同步 - 简书 (jianshu.com)

还有最最重要的一步,开启阿里云服务器安全组11111端口

监听数据变化

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号