-
Broker是把自己的信息注册到哪个NameServer上去?
每个Broker启动都得向所有的NameServer进行注册
-
系统如何从NameServer获取Broker信息?
RocketMQ中的生产者和消费者就是这样,自己主动去NameServer拉取Broker信息的。
-
如果Broker挂了,NameServer是怎么感知到的?
要解决这个问题,靠的是Broker跟NameServer之间的心跳机制, Broker会每隔30s给所有的NameServer发送心跳,告诉每个NameServer自己目前还活着。
-
如果Broker挂了,NameServer是怎么感知到的?
首先,你可以考虑不发送消息到那台Broker,改成发到其他Broker上去。 其次,假设你必须要发送消息给那台Broker,那么他挂了, 他的Slave机器是一个备份,可以继续使用, 你是不是可以考虑等一会儿去跟他的Slave进行通信? 总之,这些都是思路,但是现在我们先知道,对于生产者而言, 他是有一套容错机制的,即使一下子没感知到某个Broker挂了,他可以有别的方案去应对。 而且过一会儿,系统又会重新从NameServer拉取最新的路由信息了, 此时就会知道有一个Broker已经宕机了。 OK!今天的技术分享就到这里了,这就是NameServer的核心工作原理。
RocketMQ NameServer
最新推荐文章于 2022-11-30 18:50:00 发布