本文介绍了如何通过复用平台能力实现MQ集成,包括配置二开队列、安装MQ、修改MC配置信息、修改二开队列文件xml信息、模拟生产者和消费者等步骤。通过这些步骤,可以接入第三方MQ,实现消息的发送和消费。目前平台支持rabbitmq、rocketmq,其他类型需自行扩展。
前言:
异构系统间的集成技术有很多,消息集成算其中一款,在苍穹中既可以通过集成云实现,也可以复用平台提供的基础设施实现。本文将介绍如何复用平台能力实现MQ集成,包括:向第三方MQ队列发送消息;消费第三方MQ队列的消息。
操作步骤:
1.配置二开队列
请根据指引进行学习https://club.kdcloud.com/article/201334587116071424
2.安装mq
为了方便模拟第三方mq,在windows上安装了一个mq,可根据安装指引进行学习
https://club.kdcloud.com/article/223105111122429184?fromAction=POST_ARTICLE
3.修改MC配置信息
路径:基础数据维护-环境公共配置-通用配置 (可以在右上角搜索mq.server过滤出来)
修改完之后,集群管理-发布集群
配置说明:
平台的代码中会根据region来取mq的连接信息,region可以自定义,可以按领域。这里我自定义为testregion
部分源码截图:
注意:变量的值都不要为空
变量名 | 值说明 |
mq.server.testregion | type=rabbitmq host={{mq.server.testregion.ip}} port={{mq.server.testregion.port}} user={{mq.server.testregion.user}} password={{mq.server.testregion.password}} vhost={{mq.server.testregion.vhost}} |
mq.server.testregion.ip | 第三方mq所在ip |
mq.server.testregion.port | 第三方mq端口,一般为5672 |
mq.server.testregion.user | 用户名 |
mq.server.testregion.password | 密码 |
mq.server.testregion.vhost | 隔离标识,一般为集群名,要在mq管理界面添加 |
4.修改二开队列文件xml信息
修改第1步中的consummqconfig.xml中的region,让它与我们在mc中设置的保持一致即可。
5.生产者
注意:这里其实是不严谨的,这里仅仅是苍穹模拟的生产者,非异构系统,要深入研究请点击下方链接
https://club.kdcloud.com/article/230385056227873792?fromAction=POST_ARTICLE
6.消费者
实现效果:
1.点击发送消息
2.消费者收到消息
3.mq管理界面可以看到队列信息
消费者断点保持,由于没有ack,则可以看到mq管理界面的队列信息有一条unack
总结
按照上述方式接入第三方mq,既可以向第三方mq中发送消息,同时也可以消费第三方mq中的消息。
目前平台支持的mq类型有rabbitmq、rocketmq,其他mq类型需要自己二开扩展
推荐阅读