mysql监听数据变化_监听Mysql数据库变更并广播到ws.z.12zan.net

项目地址:

yuanfenxi/yuanlicast​github.com
b8e0d76a1cfbabb8adbc1e07c5de95d4.png

go-mysql-elasticsearch是一个golang包,可以以一个MysqlServer的salve的身份,监听mysql的数据变更,并将变更导入到elasticsearch。
我看到这个包的想法是,是否可以稍做修改,当mysql数据库有变更时,将变更广播到消息队列中去,增强及时性。关于我们的这个简单的消息队列,或者叫广播,可以参见:

人类身份验证 - SegmentFault

昨天睡前喝了点小酒,拿着elasticsearch的代码就开始动刀了,我把访问elasticsearch的那一部分删掉,改成提交数据到http://ws.z.12zan.net 到凌晨1点的时候已经基本完成了。

源代码放在:https://github.com/yuanfenxi/yuanlicast上了。

用法和go-mysql-elasticsearch基本一致,启动是: ./bin/yuancast -config=./etc/river.toml

配置文件

配置文件也在./etc/river.toml里。
配置里几个关键项如下:
* _bulk_size = 1

这个请修改成1,这样每次有数据变更就提交。不然就失去项目存在的意义了。

  • yfx_gateway = "https://ws.z.12zan.net/dbcast/some_channel_as_you_wish"

每个不同的URL地址就是一个不同的频道。这里可以随便填,请确保你填写的和别人的是不一样的频道地址。

  • yfx_secret = hellloafsdfefss9843ru93f

广播的时候,对数据进行一下加密,用的是这个密钥。

客户端

客户端解密的代码需要根据自己的应用场景来写了。
我提供了一个nodejs的示例,在 jsClientExample 目录下:npm installnode ./test.js

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值