苍穹支持消息中间件MQ(如rabbitmq),用于企业IT系统内通讯,解决应用解耦等问题。提供了MQ的调试与部署配置,包括属性设置和配置文件路径指定。示例说明了使用MQ完成demo输出和日志收集的过程,涉及配置文件、消息提供方和消费方的实现。
苍穹提供对消息中间件MQ的支持(目前支持rabbitmq),消息中间件是企业IT管理系统内部通讯的重要核心系统之一,消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。
关于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的配置【集群管理】-【配置信息】
MC上MQ配置文件路径指定(本地启动也可通过启动类配置):
配置路径:/root/config/common/prop
上面这个配置与调试阶段System.setProperty("mqConfigFiles.config", "erkaiyewumqconfig.xml");效果是相同的,调试阶段优先级更高。
3、配置文件功能
在java包下或者静态资源下添加一个erkaiyewumqconfig.xml(可以自己命名)文件,该文件记录着队列配置信息的示例
规则:[region:name].[queue:name].(queuetag) ; ()表示不一定存在,[]表示从属关系;
案例一:使用mq完成demo输出;
1、配置文件:
2、消息提供方:
业务操作调用这个消息提供方发送消息;
3、消息消费方:
常用调试入口
1)MQ应用服务启动时是否正常
kd.bos.mq.init.MQInit.init();
kd.bos.mq.config.UsageConfig.get()//可调试队列信息配置文件是否正常加载
kd.bos.mq.mqqueueconfig.xml中记录了标准产品用到的消息队列
案例二:使用mq进行系统日志收集;
1、配置文件:
2、消息提供方:
kd.fi.arapcommon.service.helper.OpLogServiceHelper.publishLog
调用消息提供的OpLogServiceHelper.publishLog这个方法可以将日志传输到消息队列中
3、消息消费方:
kd.fi.arapcommon.service.log.OpLogConsumer.onMessage
将消息队列中的消息进行消费,写入日志表中。
以上就是我们本期的一文读懂了,欢迎大家点赞收藏!
一文读懂-消息队列的使用.pdf(12.59MB)