Rocketmq 架構原理介紹

介紹:

   要掌握Rocketmq,首先要了解Rocketmq的集羣架構原理。

上圖是一個rockemq集羣架構圖,根據這個圖讓我們來了解一下Rocketmq集羣原理:

NameSrv 路由中心集羣

   負責保存broker topic,ip地址等集羣信息,提供路由註冊,發現,broker故障剔除等功能。nameSrv集羣中所有節點都保存了一樣的路由信息,彼此之間互不同通信。

Broker集羣

消息存儲和消費:broker集羣主要負責存儲消息,提供消息消費查詢功能;

路由註冊:所有broker都會向所有的namesrv節點註冊自己的路由信息;

主從複製:broker爲了保證高可用採用Master-Slave架構,Master節點負責寫消息,Slave節點負責同步消息,當Master節點負載過大時候,Slave也會對consumer消費者提供讀服務,分擔Master節點的壓力;

磁盤存儲:broker會把所有消息順序寫入pageCache,然後在刷入磁盤,這種方式大大提供IO寫性能。讀取消息使用mmap提高IO讀能力;

網絡通信:broker和namesrv,生產者,消費者之前網絡通信使用的是netty,netty底層使用的多路複用IO網絡模型,性能很高。

Producer生產者

生產者一般就是我們開發的應用程序,負責向broker發送消息;

producer會週期性的向broker 中的master節點發送心跳請求,broker 中的master節點也會保存producer的ip 地址等信息,

消費者rebalance的時候會應用到這些信息。

Consumer消費者

生產者一般就是我們開發的應用程序,負責從·broker拉取消息消費消息;

consumer也會週期性的向broker 中的master節點發送心跳請求,broker 中的master節點也會保存producer的ip 地址等信息,

消費者rebalance的時候會應用到這些信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章