【RocketMq源码】四、心跳处理、路由删除

 画图工具参考:  IDEA UML画图插件 

一、心跳处理

二、路由删除 

1)Broker 每隔30s向 NameServer 发送一个心跳包,心跳包包含 BrokerId , Broker 地址, Broker 名称, Broker 所属集群名称、 Broker 关联的 FilterServer 列表。

2)如果 Broker 宕机, NameServer 无法收到心跳包,此时 NameServer 如何来剔除这些失效的 Broker 呢?

3)NameServer 会 每隔10s扫描 brokerLiveTable 状态表,如果 BrokerLive 的lastUpdateTimestamp的时间戳距当前 时间超过120s,则认为 Broker 失效,移除该 Broker ,关闭与 Broker 连接,同时更新 topicQueueTable 、 brokerAddrTable 、 brokerLiveTable 、 filterServerTable 。

4)RocketMQ有两个触发点来删除路由信息:

NameServer定期扫描brokerLiveTable检测上次心跳包与当前系统的时间差,如果时间超过 120s,则需要移除broker。

Broker在正常关闭的情况下,会执行unregisterBroker指令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值