如何接入第三方MQ原创
金蝶云社区-sharkv
sharkv
13人赞赏了该文章 2,903次浏览 未经作者许可,禁止转载编辑于2021年09月27日 17:49:56
summary-icon摘要由AI智能服务提供

本文介绍了如何通过复用平台能力实现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过滤出来)

修改完之后,集群管理-发布集群

     

修改mc配置.png

2.png


3.png

 

配置说明:

平台的代码中会根据region来取mq的连接信息,region可以自定义,可以按领域。这里我自定义为testregion


 部分源码截图:

4.png


 

注意:变量的值都不要为空

变量名

值说明

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.png

5.生产者

image.png

注意:这里其实是不严谨的,这里仅仅是苍穹模拟的生产者,非异构系统,要深入研究请点击下方链接

https://club.kdcloud.com/article/230385056227873792?fromAction=POST_ARTICLE

6.消费者

7.png



实现效果:

1.点击发送消息

 

8.png

2.消费者收到消息

9.png

 

3.mq管理界面可以看到队列信息

消费者断点保持,由于没有ack,则可以看到mq管理界面的队列信息有一条unack

10.png

image.png



总结

按照上述方式接入第三方mq,既可以向第三方mq中发送消息,同时也可以消费第三方mq中的消息。

目前平台支持的mq类型有rabbitmq、rocketmq,其他mq类型需要自己二开扩展


赞 13