首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用 Docker 部署 canal,并将消息推送到 RabbitMQ

上一篇已经介绍了使用 Docker 部署 canal 服务,实现 MySQL 数据库 binlog 日志解析,并且用官方提供的客户端程序成功读到了消息。但在生产环境下还不能这么用,更好的做法是将消息发送到消息队列,然后再从消息队列消费。

这里我选择的是 RabbitMQ。

原来看官方文档发现只支持 Kafka 和 RocketMQ,但好在最新版 1.1.5 也支持了 RabbitMQ,而且镜像也已经打好了。

如果使用 Docker 部署的话,直接拉取最新的镜像即可。

配置 canal

第一步拉取镜像:

然后启动容器,从容器中拷贝出配置文件:

修改 文件,配置输出到 RabbitMQ,有以下几处要改:

这里有两点需要说明,一是我在网上找的很多文章,关于 RabbitMQ 的配置都是这样的:

但是我这样配置并不成功,也可能是版本的问题,我没有更多去验证。

第二个是目前 RabbitMQ 的配置还不支持端口,只能使用默认端口 5672。

接下来修改 文件:

docker-compose 文件:

一切就绪,启动服务:

配置 RabbitMQ

首先新建 exchange:

然后新建队列:

最后绑定队列:

这里要注意,Routing key 一定要和之前配置的一致。

到这里,如果顺利的话队列里就应该有消息了。

题图:该图片由 Gundula Vogel 在 Pixabay 上发布。

参考文档:

https://www.siques.cn/doc/340

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201220A03PJJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券