一文读懂-MQ消息队列的使用原创
金蝶云社区-金蝉子
金蝉子
5人赞赏了该文章 2,583次浏览 未经作者许可,禁止转载编辑于2021年08月17日 16:10:39

    苍穹提供对消息中间件MQ的支持(目前支持rabbitmq),消息中间件是企业IT管理系统内部通讯的重要核心系统之一,消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。

image.png

    关于MQ相关的配置:

1、调试阶段配置
在debugServer中添加如下配置
System.setProperty("dubbo.registry.register", "true");
//调试mq消费的代码块,该参数为false,本节点将不会消费mq消息
System.setProperty("mq.consumer.register", "true");
//每个人的专属tag
System.setProperty("mq.debug.queue.tag", "zhangbo0127");
//轻量环境 true为轻量环境 false为非轻量环境
System.setProperty("lightweightdeploy","false");
//轻量mq配置文件地址
System.setProperty("mqConfigFiles.config", "erkaiyewumqconfig.xml");//mq配置文件

2、部署阶段配置

mc中核实mq的配置【集群管理】-【配置信息】

image.png

MC上MQ配置文件路径指定(本地启动也可通过启动类配置):

配置路径:/root/config/common/prop

image.png

上面这个配置与调试阶段System.setProperty("mqConfigFiles.config", "erkaiyewumqconfig.xml")效果是相同的,调试阶段优先级更高。

3、配置文件功能

java包下或者静态资源下添加一个erkaiyewumqconfig.xml(可以自己命名)文件,该文件记录着队列配置信息的示例

image.png

规则:[region:name].[queue:name].(queuetag) ; ()表示不一定存在,[]表示从属关系;

image.png

案例一:使用mq完成demo输出;

1、配置文件:

image.png

2、消息提供方:

image.png

业务操作调用这个消息提供方发送消息;

3、消息消费方:

image.png

常用调试入口

1MQ应用服务启动时是否正常

kd.bos.mq.init.MQInit.init();

kd.bos.mq.config.UsageConfig.get()//可调试队列信息配置文件是否正常加载

kd.bos.mq.mqqueueconfig.xml中记录了标准产品用到的消息队列

案例二:使用mq进行系统日志收集;

1、配置文件:

image.png

2、消息提供方:

kd.fi.arapcommon.service.helper.OpLogServiceHelper.publishLog

image.png

调用消息提供的OpLogServiceHelper.publishLog这个方法可以将日志传输到消息队列中

3、消息消费方:

kd.fi.arapcommon.service.log.OpLogConsumer.onMessage

image.png

将消息队列中的消息进行消费,写入日志表中。


image.png

以上就是我们本期的一文读懂了,欢迎大家点赞收藏!

赞 5