一、基本概念

1 消息模型(Message Model)

RocketMQ主要由 Producer灼芭、Broker有额、Consumer 三部分組成,其中Producer 負(fù)責(zé)生產(chǎn)消息彼绷,Consumer 負(fù)責(zé)消費(fèi)消息巍佑,Broker 負(fù)責(zé)存儲(chǔ)消息。Broker 在實(shí)際部署過(guò)程中對(duì)應(yīng)一臺(tái)服務(wù)器寄悯,每個(gè) Broker 可以存儲(chǔ)多個(gè)Topic的消息萤衰,每個(gè)Topic的消息也可以分片存儲(chǔ)于不同的 Broker。
MessageQueue 用于存儲(chǔ)消息的物理地址猜旬,每個(gè)Topic中的消息地址存儲(chǔ)于多個(gè) MessageQueue 中脆栋。也就是意味著創(chuàng)建一個(gè) Topic(概念上的單位)會(huì)創(chuàng)建多個(gè) MessageQueue(邏輯上的單位)倦卖,消息會(huì)發(fā)送到多個(gè) MessageQueue 中。一個(gè) MessageQueue 只能屬于一個(gè) Topic椿争。

ConsumerGroup 由多個(gè)Consumer 實(shí)例構(gòu)成怕膛。

2 消息生產(chǎn)者(Producer)

負(fù)責(zé)生產(chǎn)消息,一般由業(yè)務(wù)系統(tǒng)負(fù)責(zé)生產(chǎn)消息秦踪。一個(gè)消息生產(chǎn)者會(huì)把業(yè)務(wù)應(yīng)用系統(tǒng)里產(chǎn)生的消息發(fā)送到broker服務(wù)器褐捻。RocketMQ提供多種發(fā)送方式,同步發(fā)送椅邓、異步發(fā)送柠逞、順序發(fā)送、單向發(fā)送希坚。同步和異步方式均需要Broker返回確認(rèn)信息,單向發(fā)送不需要陵且。

3 消息消費(fèi)者(Consumer)

負(fù)責(zé)消費(fèi)消息裁僧,一般是后臺(tái)系統(tǒng)負(fù)責(zé)異步消費(fèi)。一個(gè)消息消費(fèi)者會(huì)從Broker服務(wù)器拉取消息慕购、并將其提供給應(yīng)用程序聊疲。從用戶應(yīng)用的角度而言提供了兩種消費(fèi)形式:拉取式消費(fèi)、推動(dòng)式消費(fèi)沪悲。

4 主題(Topic)

表示一類消息的集合获洲,每個(gè)主題包含若干條消息,每條消息只能屬于一個(gè)主題殿如,是RocketMQ進(jìn)行消息訂閱的基本單位贡珊。

5 代理服務(wù)器(Broker Server)

消息中轉(zhuǎn)角色,負(fù)責(zé)存儲(chǔ)消息涉馁、轉(zhuǎn)發(fā)消息门岔。代理服務(wù)器在RocketMQ系統(tǒng)中負(fù)責(zé)接收從生產(chǎn)者發(fā)送來(lái)的消息并存儲(chǔ)、同時(shí)為消費(fèi)者的拉取請(qǐng)求作準(zhǔn)備烤送。代理服務(wù)器也存儲(chǔ)消息相關(guān)的元數(shù)據(jù)寒随,包括消費(fèi)者組、消費(fèi)進(jìn)度偏移和主題和隊(duì)列消息等帮坚。

6 名字服務(wù)(Name Server)

名稱服務(wù)充當(dāng)路由消息的提供者妻往。生產(chǎn)者或消費(fèi)者能夠通過(guò)名字服務(wù)查找各主題相應(yīng)的Broker IP列表。多個(gè)Namesrv實(shí)例組成集群试和,但相互獨(dú)立讯泣,沒(méi)有信息交換。

7 拉取式消費(fèi)(Pull Consumer)

Consumer消費(fèi)的一種類型阅悍,應(yīng)用通常主動(dòng)調(diào)用Consumer的拉消息方法從Broker服務(wù)器拉消息判帮、主動(dòng)權(quán)由應(yīng)用控制局嘁。一旦獲取了批量消息,應(yīng)用就會(huì)啟動(dòng)消費(fèi)過(guò)程晦墙。

8 推動(dòng)式消費(fèi)(Push Consumer)

Consumer消費(fèi)的一種類型悦昵,該模式下Broker收到數(shù)據(jù)后會(huì)主動(dòng)推送給消費(fèi)端,該消費(fèi)模式一般實(shí)時(shí)性較高晌畅。

9 生產(chǎn)者組(Producer Group)

同一類Producer的集合但指,這類Producer發(fā)送同一類消息且發(fā)送邏輯一致。如果發(fā)送的是事務(wù)消息且原始生產(chǎn)者在發(fā)送之后崩潰抗楔,則Broker服務(wù)器會(huì)聯(lián)系同一生產(chǎn)者組的其他生產(chǎn)者實(shí)例以提交或回溯消費(fèi)棋凳。

10 消費(fèi)者組(Consumer Group)

同一類Consumer的集合,這類Consumer通常消費(fèi)同一類消息且消費(fèi)邏輯一致连躏。消費(fèi)者組使得在消息消費(fèi)方面剩岳,實(shí)現(xiàn)負(fù)載均衡和容錯(cuò)的目標(biāo)變得非常容易。要注意的是入热,消費(fèi)者組的消費(fèi)者實(shí)例必須訂閱完全相同的Topic拍棕。RocketMQ 支持兩種消息模式:集群消費(fèi)(Clustering)和廣播消費(fèi)(Broadcasting)。

11 集群消費(fèi)(Clustering)

集群消費(fèi)模式下,相同Consumer Group的每個(gè)Consumer實(shí)例平均分?jǐn)傁ⅰ?/p>

12 廣播消費(fèi)(Broadcasting)

廣播消費(fèi)模式下勺良,相同Consumer Group的每個(gè)Consumer實(shí)例都接收全量的消息绰播。

13 普通順序消息(Normal Ordered Message)

普通順序消費(fèi)模式下,消費(fèi)者通過(guò)同一個(gè)消費(fèi)隊(duì)列收到的消息是有順序的尚困,不同消息隊(duì)列收到的消息則可能是無(wú)順序的蠢箩。

14 嚴(yán)格順序消息(Strictly Ordered Message)

嚴(yán)格順序消息模式下,消費(fèi)者收到的所有消息均是有順序的事甜。

15 消息(Message)

消息系統(tǒng)所傳輸信息的物理載體谬泌,生產(chǎn)和消費(fèi)數(shù)據(jù)的最小單位,每條消息必須屬于一個(gè)主題逻谦。RocketMQ中每個(gè)消息擁有唯一的Message ID呵萨,且可以攜帶具有業(yè)務(wù)標(biāo)識(shí)的Key。系統(tǒng)提供了通過(guò)Message ID和Key查詢消息的功能跨跨。

16 標(biāo)簽(Tag)

為消息設(shè)置的標(biāo)志潮峦,用于同一主題下區(qū)分不同類型的消息。來(lái)自同一業(yè)務(wù)單元的消息勇婴,可以根據(jù)不同業(yè)務(wù)目的在同一主題下設(shè)置不同標(biāo)簽忱嘹。標(biāo)簽?zāi)軌蛴行У乇3执a的清晰度和連貫性,并優(yōu)化RocketMQ提供的查詢系統(tǒng)耕渴。消費(fèi)者可以根據(jù)Tag實(shí)現(xiàn)對(duì)不同子主題的不同消費(fèi)邏輯拘悦,實(shí)現(xiàn)更好的擴(kuò)展性。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末橱脸,一起剝皮案震驚了整個(gè)濱河市础米,隨后出現(xiàn)的幾起案子分苇,更是在濱河造成了極大的恐慌,老刑警劉巖屁桑,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件医寿,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡蘑斧,警方通過(guò)查閱死者的電腦和手機(jī)靖秩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)竖瘾,“玉大人沟突,你說(shuō)我怎么就攤上這事〔洞” “怎么了惠拭?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)庸论。 經(jīng)常有香客問(wèn)我职辅,道長(zhǎng),這世上最難降的妖魔是什么葡公? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任罐农,我火速辦了婚禮条霜,結(jié)果婚禮上催什,老公的妹妹穿的比我還像新娘。我一直安慰自己宰睡,他們只是感情好蒲凶,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著拆内,像睡著了一般旋圆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上麸恍,一...
    開(kāi)封第一講書(shū)人閱讀 51,573評(píng)論 1 305
  • 那天灵巧,我揣著相機(jī)與錄音,去河邊找鬼抹沪。 笑死刻肄,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的融欧。 我是一名探鬼主播敏弃,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼噪馏!你這毒婦竟也來(lái)了麦到?” 一聲冷哼從身側(cè)響起绿饵,我...
    開(kāi)封第一講書(shū)人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瓶颠,沒(méi)想到半個(gè)月后拟赊,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡步清,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年要门,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片廓啊。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡欢搜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出谴轮,到底是詐尸還是另有隱情炒瘟,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布第步,位于F島的核電站疮装,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏粘都。R本人自食惡果不足惜廓推,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望翩隧。 院中可真熱鬧樊展,春花似錦、人聲如沸堆生。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)淑仆。三九已至涝婉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蔗怠,已是汗流浹背墩弯。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留寞射,地道東北人渔工。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像怠惶,于是被迫代替她去往敵國(guó)和親涨缚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355