RocketMQ 架構(gòu)

RocketMQ Architecture 譯文

概述

Apache RocketMQ是一個低延時、高性能暮顺、可靠的分布式消息流平臺秀存,它具有兆級容量和靈活擴展性的特點。它包括四個部分:name servers, brokers, producers and consumers或链。每個部分都能水平擴展以避免單點故障澳盐。


image.png

Name Server 集群

Name Servers 提供輕量級的服務(wù)發(fā)現(xiàn)和路由功能令宿。每個Name Server記錄全部的路由信息粒没,提供相應(yīng)的讀寫服務(wù)簇爆,支持快速存儲擴展。

Broker 集群

Broker 集群通過TOPIC和QUEUE機制實現(xiàn)消息存儲功能入蛆。Broker支持Push和Pull兩種模式,容錯機制(2到3個備份)安寺,和短時間內(nèi)應(yīng)對成百上千億消息的強大的削峰填谷功能。另外,Broker還支持災(zāi)難恢復(fù)软能,豐富的統(tǒng)計指標等等一系列在傳統(tǒng)消息系統(tǒng)中缺乏的可選機制。

Producer 集群

Producer支持分布式部署查排。分布式的Producers通過多路負載均衡模式向Broker集群發(fā)送消息。發(fā)送程序支持快速失敗和低延時岖瑰。

Consumer 集群

Consumer同樣支持分布式部署蹋订,而且支持Push和Pull兩種模式刻伊。它還支持集群消費和消息廣播。同時提供實時消息訂閱以滿足更多消費需求捶箱。

push: Broker向Consumer推送消息,有可能將消費者壓垮
pull: Consumer主動向Broker拉取消息

Name Server

Name Server是一個功能完備的服務(wù)器荠锭,它只要有兩個功能:

  • Broker 管理晨川。Name Server接收Broker集群注冊键思,并且提供心跳機制檢測Broker是否存活甫贯。
  • 路由管理。每個Name Server都有完整的Broker路由信息和隊列信息赔桌,供客戶端查詢

眾所周知渴逻,RocketMQ的客戶端(Producer/Consumer)在Name Server上查詢隊列路由信息,但是客戶端怎么發(fā)現(xiàn)Name Server地址呢惨奕?

以下有四種方式:

  • 編程方式,像 producer.setNamesrvAddr("ip:port")
  • java 參數(shù)雹洗,用 rocketmq.namesrv.addr
  • 環(huán)境變量卧波,用NAMESRV_ADDR
  • HTTP 接口

更多詳情請點擊這里.

Broker Server

Broker 負責(zé)消息的存儲、分發(fā)螃成、查詢以及高可用保證(防丟)等等查坪。
Broker有以下幾個重要模塊:

  • 遠程模塊,broker的入口氮凝,處理客戶端請求
  • 客戶端管理,管理客戶端和維持Consumer Topic訂閱
  • 存儲服務(wù)覆醇,提供簡單的API落地消息以及從磁盤查詢數(shù)據(jù)
  • 高可用服務(wù)(HA)永脓,在Broker Server之前同步數(shù)據(jù)
  • 索引服務(wù)鞋仍,通過特殊key給消息建立索引,提供快速的消息查詢。
image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市溃斋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌享甸,老刑警劉巖梳侨,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件走哺,死亡現(xiàn)場離奇詭異,居然都是意外死亡择示,警方通過查閱死者的電腦和手機彼哼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門敢朱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來摩瞎,“玉大人,你說我怎么就攤上這事蚓哩∩峡剩” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵曹阔,是天一觀的道長隔披。 經(jīng)常有香客問我,道長抓韩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任尝江,我火速辦了婚禮炭序,結(jié)果婚禮上善延,老公的妹妹穿的比我還像新娘。我一直安慰自己彼妻,他們只是感情好豆茫,可當(dāng)我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布揩魂。 她就那樣靜靜地躺著,像睡著了一般牵舵。 火紅的嫁衣襯著肌膚如雪畸颅。 梳的紋絲不亂的頭發(fā)上方援,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天犯戏,我揣著相機與錄音,去河邊找鬼先匪。 笑死,一個胖子當(dāng)著我的面吹牛骨稿,可吹牛的內(nèi)容都是我干的坦冠。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼激涤,長吁一口氣:“原來是場噩夢啊……” “哼判呕!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起辱挥,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤晤碘,失蹤者是張志新(化名)和其女友劉穎功蜓,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體童社,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡扰楼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了美浦。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片灭抑。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖抵代,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情忘嫉,我是刑警寧澤荤牍,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站庆冕,受9級特大地震影響康吵,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜访递,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一晦嵌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦惭载、人聲如沸旱函。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纷纫。三九已至,卻和暖如春偷厦,著一層夾襖步出監(jiān)牢的瞬間只泼,已是汗流浹背弥咪。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留扳躬,地道東北人贷币。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像促脉,于是被迫代替她去往敵國和親瘸味。 傳聞我的和親對象是個殘疾皇子硫戈,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容