RocketMQ NameServer协调者

∥☆過路亽.° 提交于 2020-02-02 03:41:04

从3.x之前使用Zookeeper,之后改成NameServer

NameServer是整个集群的状态服务器 NameServer部署,相互独立(相当于热备份)

为什么不用Zookeeper,因为根据业务需要不需要主从选举(相对来说比较重量级),NameServer只需要维护节点的状态和一些元数据信息

NameServer维护的主要信息:

private final HashMap<String/* topic */,List<QueueData>> topicQueueTable;

List<QueueData>的长度  指的是master Broker的个数

private final HashMap<String/* brokerName */,BrokerData> brokerAddrTable;

BrokerData存储的是节点地址的一些信息

private final HashMap<String/* clusterName */,Set<String/*brokerName */> clusterAddrTable;

维护一个clusterName和一组brokerName的组成

private final HashMap<String/* brokerAddr */,BrokerLiveInfo> brokerLiveTable;

存储broker地址和broker的状态

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!