天天看點

RocketMQ NameServer協調者

從3.x之前使用Zookeeper,之後改成NameServer

NameServer是整個叢集的狀态伺服器 NameServer部署,互相獨立(相當于熱備份)

為什麼不用Zookeeper,因為根據業務需要不需要主從選舉(相對來說比較重量級),NameServer隻需要維護節點的狀态和一些中繼資料資訊

NameServer維護的主要資訊:

private final HashMap<String,List<QueueData>> topicQueueTable;

List<QueueData>的長度  指的是master Broker的個數

private final HashMap<String,BrokerData> brokerAddrTable;

BrokerData存儲的是節點位址的一些資訊

private final HashMap<String,Set<String> clusterAddrTable;

維護一個clusterName和一組brokerName的組成

private final HashMap<String,BrokerLiveInfo> brokerLiveTable;

存儲broker位址和broker的狀态

繼續閱讀