加入收藏 | 设为首页 | 会员中心 | 我要投稿 潍坊站长网 (https://www.0536zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

路由删除:对于宕机或者关闭的broker,自动删除相应的路由信息

发布时间:2021-04-19 19:07:22 所属栏目:动态 来源:互联网
导读:根据东莞站长网 Www.0769Zz.Com报道 路由删除的触发点有两个: NameServer启动时开启的定时任务,每隔10s扫描一次brokerLiveTable,检测上次心跳包与当前系统时间差,如果时间差大于120s,则移除Broker的相关信息。 Broker正常关闭,会向NameServer发送UNREG
根据东莞站长网 Www.0769Zz.Com报道

路由删除的触发点有两个:

  • NameServer启动时开启的定时任务,每隔10s扫描一次brokerLiveTable,检测上次心跳包与当前系统时间差,如果时间差大于120s,则移除Broker的相关信息。
  • Broker正常关闭,会向NameServer发送UNREGISTER_BROKER消息。

其实初期RocketMQ采用的是zookeeper作为注册中心的,后来为什么改成自研的NameServer了?

这个问题其实我也不想太多的多说,这个可能需要了解zookeeper,如果不了解这个东西的话,其实我说了也是没啥大用的

首先,zookeeper中最主要的功能就是master的选举,但是呢?对于RocketMQ不太合适,你想啊,RocketMQ中的master并不会存在全部的Topic信息,所以选择master没什么意义

其次,对于RocketMQ来说,这个注册中心的作用不仅要保存相关的信息(broker活跃列表、Topic对应信息等),还有就是需要一些逻辑来处理相应的数据,比如每隔10秒检测一次活跃的broker来更新列表,这些逻辑如果换做是zookeeper的客户端来处理的话,算是比较麻烦的

因此,既然zookeeper对于RocketMQ来说是属于一个重量级的注册中心,所以不如自己写一个简易的注册中心来实现,像上面说的集群,NameServer集群是属于伪集群,节点之间不存在相应的交互,只是起到一个备份的作用,这样使得RocketMQ集群变得更加灵活

(编辑:潍坊站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!