mq查找路由信息

Posted lccsblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mq查找路由信息相关的知识,希望对你有一定的参考价值。

 

技术图片

路由发现:缓存中的路由信息什么时候更新呢?

技术图片

 

 

 

技术图片

 

 

 

技术图片

 

 

 

技术图片

 

由QueueData转topicPublishInfo的List<QueueMessage>:

 

 

技术图片

 

 

选择消息队列:

sendLatencyFaultEnable=false,默认不启动Broker故障延迟机制,

sendLatenFaultEnable=true,启用Broker故障延迟机制

默认情况:TopicPublishInfo#selectOneMessageQueue:

 

 

技术图片

 

 

 

技术图片

 

lastBrokerName是上一次选择的执行发送消息失败的Broker。

考虑broker宕机的情况:

首先,NameServer检测Broker是否可用是有延迟的,最短一次心跳检测间隔10s;其次,NameServer不会检测到Broker宕机后马上推送消息给消息生产者,而是消息生产者

“每隔30秒更新一次路由信息”,所以生产者最快感知Broker最新的路由信息也需要30s。如果能引入一种机制,在Broker宕机期间,如果一次消息发送失败后,可以将该Broker暂时排除在消息队列的

选择范围中。

故障延迟机制:

MQFaultStrategy#selectOneMessageQueue:

技术图片

 

 

 

技术图片

 

 

 

技术图片

 

 

 

技术图片

 技术图片

 

 

技术图片

 

 

 

技术图片

以上是关于mq查找路由信息的主要内容,如果未能解决你的问题,请参考以下文章

骆驼路由输入端点的 JBoss 嵌入式 MQ 的 jndi 查找问题

10 MQ路由中心的架构原理

消息队列(mq)是啥?

使用 Amazon MQ 的 OroCommerce

6RIP

路由基础及静态路由