RocketMQ 集群部署結(jié)構(gòu)和模式

1姨俩、RocketMQ 集群物理部署結(jié)構(gòu)

RocketMQ 物理部署結(jié)構(gòu)

物理部署結(jié)構(gòu)

RocketMQ的部署結(jié)構(gòu)有以下特點(diǎn):

  • Name Server是一個(gè)幾乎無狀態(tài)節(jié)點(diǎn),可集群部署调窍,節(jié)點(diǎn)之間無任何信息同步积担。

  • Broker部署相對(duì)復(fù)雜,Broker分為Master與Slave先誉,一個(gè)Master可以對(duì)應(yīng)多個(gè)Slave的烁,但是一個(gè)Slave只能對(duì)應(yīng)一個(gè)Master,Master與Slave的對(duì)應(yīng)關(guān)系通過指定相同的BrokerName铃芦,不同的BrokerId來定義襟雷,BrokerId為0表示Master,非0表示Slave咧虎。Master也可以部署多個(gè)计呈。每個(gè)Broker與Name Server集群中的所有節(jié)點(diǎn)建立長(zhǎng)連接,定時(shí)注冊(cè)Topic信息到所有Name Server茁彭。

  • Producer與Name Server集群中的其中一個(gè)節(jié)點(diǎn)(隨機(jī)選擇)建立長(zhǎng)連接扶歪,定期從Name Server取Topic路由信息,并向提供Topic服務(wù)的Master建立長(zhǎng)連接哲嘲,且定時(shí)向Master發(fā)送心跳媳禁。Producer完全無狀態(tài),可集群部署囱怕。

  • Consumer與Name Server集群中的其中一個(gè)節(jié)點(diǎn)(隨機(jī)選擇)建立長(zhǎng)連接毫别,定期從Name Server取Topic路由信息,并向提供Topic服務(wù)的Master台丛、Slave建立長(zhǎng)連接砾肺,且定時(shí)向Master、Slave發(fā)送心跳侠坎。Consumer既可以從Master訂閱消息裙盾,也可以從Slave訂閱消息,訂閱規(guī)則由Broker配置決定庐完。

2徘熔、RocketMQ 邏輯部署結(jié)構(gòu)

邏輯部署結(jié)構(gòu)
Producer Group

用來表示一個(gè)發(fā)送消息應(yīng)用,一個(gè)Producer Group下包含多個(gè)Producer實(shí)例生音,可以是多臺(tái)機(jī)器窒升,也可以是一臺(tái)機(jī)器的多個(gè)進(jìn)程饱须,或者一個(gè)進(jìn)程的多個(gè)Producer對(duì)象。一個(gè)Producer Group可以發(fā)送多個(gè)Topic消息,Producer Group作用如下:

  • 標(biāo)識(shí)一類Producer
  • 可以通過運(yùn)維工具查詢這個(gè)發(fā)送消息應(yīng)用下有多個(gè)Producer實(shí)例
  • 發(fā)送分布式事務(wù)消息時(shí)锅铅,如果Producer中途意外宕機(jī)减宣,Broker會(huì)主動(dòng)回調(diào)Producer Group內(nèi)的任意一臺(tái)機(jī)器來確認(rèn)事務(wù)狀態(tài)漆腌。
Consumer Group

用來表示一個(gè)消費(fèi)消息應(yīng)用,一個(gè)Consumer Group下包含多個(gè)Consumer實(shí)例塑径,可以是多臺(tái)機(jī)器填具,也可以是多個(gè)進(jìn)程,或者是一個(gè)進(jìn)程的多個(gè)Consumer對(duì)象誉简。一個(gè)Consumer Group下的多個(gè)Consumer以均攤方式消費(fèi)消息枢泰,如果設(shè)置為廣播方式,那么這個(gè)Consumer Group下的每個(gè)實(shí)例都消費(fèi)全量數(shù)據(jù)窿克。

3毛甲、RocketMQ 集群部署模式

1> 單 master 模式

也就是只有一個(gè) master 節(jié)點(diǎn),稱不上是集群玻募,一旦這個(gè) master 節(jié)點(diǎn)宕機(jī)七咧,那么整個(gè)服務(wù)就不可用,適合個(gè)人學(xué)習(xí)使用艾栋。

2> 多 master 模式

多個(gè) master 節(jié)點(diǎn)組成集群蝗砾,單個(gè) master 節(jié)點(diǎn)宕機(jī)或者重啟對(duì)應(yīng)用沒有影響携冤。

優(yōu)點(diǎn):所有模式中性能最高
缺點(diǎn):?jiǎn)蝹€(gè) master 節(jié)點(diǎn)宕機(jī)期間闲勺,未被消費(fèi)的消息在節(jié)點(diǎn)恢復(fù)之前不可用菜循,消息的實(shí)時(shí)性就受到影響。
注意:使用同步刷盤可以保證消息不丟失债朵,同時(shí) Topic 相對(duì)應(yīng)的 queue 應(yīng)該分布在集群中各個(gè)節(jié)點(diǎn)序芦,而不是只在某各節(jié)點(diǎn)上,否則粤咪,該節(jié)點(diǎn)宕機(jī)會(huì)對(duì)訂閱該 topic 的應(yīng)用造成影響谚中。

3> 多 master 多 slave 異步復(fù)制模式

在多 master 模式的基礎(chǔ)上,每個(gè) master 節(jié)點(diǎn)都有至少一個(gè)對(duì)應(yīng)的 slave寥枝。master
節(jié)點(diǎn)可讀可寫宪塔,但是 slave 只能讀不能寫,類似于 mysql 的主備模式囊拜。

優(yōu)點(diǎn): 在 master 宕機(jī)時(shí)某筐,消費(fèi)者可以從 slave 讀取消息,消息的實(shí)時(shí)性不會(huì)受影響冠跷,性能幾乎和多 master 一樣南誊。
缺點(diǎn):使用異步復(fù)制的同步方式有可能會(huì)有消息丟失的問題。

4> 多 master 多 slave 同步雙寫模式

同多 master 多 slave 異步復(fù)制模式類似蜜托,區(qū)別在于 master 和 slave 之間的數(shù)據(jù)同步方式抄囚。

優(yōu)點(diǎn):同步雙寫的同步模式能保證數(shù)據(jù)不丟失橄务。
缺點(diǎn):發(fā)送單個(gè)消息 RT 會(huì)略長(zhǎng)幔托,性能相比異步復(fù)制低10%左右。
刷盤策略:同步刷盤和異步刷盤(指的是節(jié)點(diǎn)自身數(shù)據(jù)是同步還是異步存儲(chǔ))
同步方式:同步雙寫和異步復(fù)制(指的一組 master 和 slave 之間數(shù)據(jù)的同步)

注意:要保證數(shù)據(jù)可靠蜂挪,需采用同步刷盤和同步雙寫的方式重挑,但性能會(huì)較其他方式低。

5> summary
  • 單Master無Slave(脆弱)

  • 單Master多Slave(單點(diǎn)故障就癱棠涮,開源版無主備切換功能)

  • 多Master無Slave(無單點(diǎn)故障谬哀,線上生產(chǎn)常用模式)

  • 多Master多Slave(無單點(diǎn)故障)

4、參考穩(wěn)穩(wěn)地

RocketMQ 實(shí)戰(zhàn)之快速入門

十分鐘入門RocketMQ【阿里中間件團(tuán)隊(duì)博客】

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末故爵,一起剝皮案震驚了整個(gè)濱河市玻粪,隨后出現(xiàn)的幾起案子隅津,更是在濱河造成了極大的恐慌,老刑警劉巖劲室,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件伦仍,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡很洋,警方通過查閱死者的電腦和手機(jī)充蓝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來喉磁,“玉大人谓苟,你說我怎么就攤上這事⌒” “怎么了涝焙?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)孕暇。 經(jīng)常有香客問我仑撞,道長(zhǎng),這世上最難降的妖魔是什么妖滔? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任隧哮,我火速辦了婚禮,結(jié)果婚禮上座舍,老公的妹妹穿的比我還像新娘沮翔。我一直安慰自己,他們只是感情好曲秉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布采蚀。 她就那樣靜靜地躺著,像睡著了一般岸浑。 火紅的嫁衣襯著肌膚如雪搏存。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天矢洲,我揣著相機(jī)與錄音璧眠,去河邊找鬼。 笑死读虏,一個(gè)胖子當(dāng)著我的面吹牛责静,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播盖桥,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼灾螃,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了揩徊?” 一聲冷哼從身側(cè)響起腰鬼,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤嵌赠,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后熄赡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體姜挺,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年彼硫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了炊豪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拧篮,死狀恐怖词渤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情串绩,我是刑警寧澤缺虐,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站赏参,受9級(jí)特大地震影響志笼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜把篓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望腰涧。 院中可真熱鬧韧掩,春花似錦、人聲如沸窖铡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽费彼。三九已至滑臊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間箍铲,已是汗流浹背雇卷。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留颠猴,地道東北人关划。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像翘瓮,于是被迫代替她去往敵國和親贮折。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354