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)有信息交換。