日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RocketMQ的架构

發布時間:2024/4/13 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RocketMQ的架构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

集群本身沒有什么特殊之處,和kafka的整體架構類似,其中zookeeper替換成了NameServer。

在rocketmq的早版本(2.x)的時候,是沒有namesrv組件的,用的是zookeeper做分布式協調和服務發現,但是后期阿里數據根據實際業務需求進行改進和優化,自組研發了輕量級的namesrv,用于注冊Client服務與Broker的請求路由工作,namesrv上不做任何消息的位置存儲,?頻繁操作zookeeper的位置存儲數據會影響整體集群性能

RocketMQ由四部分組成?

1)Name Server 可集群部署,節點之間無任何信息同步。提供輕量級的服務發現和路由

2)Broker(消息中轉角色,負責存儲消息,轉發消息) 部署相對復雜,Broker 分為Master 與Slave,一個Master 可以對應多個Slave,但是一個Slave 只能對應一個Master,Master 與Slave 的對應關系通過指定相同的BrokerName,不同的BrokerId來定 義,BrokerId為0 表示Master,非0 表示Slave。Master 也可以部署多個。

3)Producer,生產者,擁有相同 Producer Group 的 Producer 組成一個集群, 與Name Server 集群中的其中一個節點(隨機選擇)建立長連接,定期從Name Server 取Topic 路由信息,并向提供Topic?服務的Master 建立長連接,且定時向Master 發送心跳。Producer 完全無狀態,可集群部署。

4)Consumer,消費者,接收消息進行消費的實例,擁有相同 Consumer Group 的 Consumer 組成一個集群,與Name Server 集群中的其中一個節點(隨機選擇)建立長連接,定期從Name Server 取Topic 路由信息,并向提供Topic 服務的Master、Slave 建立長連接,且定時向Master、Slave 發送心跳。Consumer既可以從Master 訂閱消息,也可以從Slave 訂閱消息,訂閱規則由Broker 配置決定。

要使用rocketmq,至少需要啟動兩個進程,nameserver、broker,前者是各種topic注冊中心,后者是真正的broker。

?

總結

以上是生活随笔為你收集整理的RocketMQ的架构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。