RocketMQ 基本概念

Topic 主題

表示一類(lèi)消息的集合,每個(gè)主題包含若干條消息,每個(gè)消息只能屬于一個(gè)主題

Tag 標(biāo)簽

為消息設(shè)置的標(biāo)志,用于區(qū)分同一個(gè) Topic 下的不同類(lèi)型的消息。來(lái)自同一業(yè)務(wù)單元的消息,可以根據(jù)不同目的設(shè)置不同的 tag 標(biāo)簽

Message Model 消息模型

RocketMQ 主要有 Producer、Consumer、Broker、NameSrv 組成。Producer 負(fù)責(zé)生產(chǎn)消息,Consumer 負(fù)責(zé)消費(fèi)消息,Broker 負(fù)責(zé)存儲(chǔ)消息。每個(gè) Topic 下的消息實(shí)際存儲(chǔ)在 CommitLog 文件中(最大 1G,默認(rèn)3天后凌晨 4 點(diǎn)刪除),而 Consumer 在消費(fèi)過(guò)程中,是從對(duì)應(yīng)存儲(chǔ)消息所在 commit log 的索引位置 MessageQueue 隊(duì)列中讀取,Topic 的 MessageQueue 可以分片到不同的 Broker 中

Producer 生產(chǎn)者

負(fù)責(zé)生產(chǎn)消息,由業(yè)務(wù)系統(tǒng)負(fù)責(zé)生產(chǎn)消息。RocketMQ 提供了: 同步、異步、單向(one way)、順序(order)等幾種發(fā)送消息的方式

Producer Group 生產(chǎn)者組

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

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

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

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

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

Consumer Group 消費(fèi)者組

同一類(lèi) Consumer的集合,需要訂閱相同的 Topic。在同一組內(nèi)通過(guò)增加 Consumer 的數(shù)量可以根據(jù)策略實(shí)現(xiàn)消息消費(fèi)的負(fù)載均衡,提高消息消費(fèi)性能

Clustering 集群消費(fèi)

相同 Consumer group 下的每個(gè) consumer 實(shí)例平攤消費(fèi)所訂閱的 Topic 的消息

Broadcast 廣播消費(fèi)

相同 Consumer group 下的每個(gè) consumer 實(shí)例全量消費(fèi)所訂閱的 Topic 的消息

Message 消息

消息系統(tǒng)所傳輸數(shù)據(jù)的載體,生產(chǎn)、消費(fèi)數(shù)據(jù)的最小單元,每條消息必須屬于一個(gè)主題,RocketMQ中每個(gè)消息擁有唯一的Message ID,且可以攜帶具有業(yè)務(wù)標(biāo)識(shí)的Key

Normal Ordered Message 普通順序消息

普通順序消費(fèi)模式下,同一個(gè) MessageQueue 消費(fèi)隊(duì)列中的消息是有序的。不同MessageQueue 消費(fèi)隊(duì)列中的可能是無(wú)序的。

Broker Server 代理服務(wù)器

消息中轉(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ì)列消息等。

Name Server 名字服務(wù)

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容