RocketMQ NameServer协调者

从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的状态

发布了43 篇原创文章 · 获赞 2 · 访问量 639

猜你喜欢

转载自blog.csdn.net/qq_33348135/article/details/104129004