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查找路由信息的主要内容,如果未能解决你的问题,请参考以下文章