Rocketmq訊息佇列廣播消費測試

2021-07-29 11:03:20 字數 2055 閱讀 2269

一 機器部署

1、機器組成

7臺機器,均為16g記憶體

每台伺服器均有4個cpu,2核

2、執行環境配置

3、刷盤方式

每台機器master機器均採用非同步刷盤方式

二 效能評測

1、評測目的

測試consumer端的廣播模式消費。

2、評測指標

所屬不同consumergroup組的consumer端,在消費訊息的過程中,對比訊息msgid是否相同。

3、評測邏輯

consumer端在廣播模式消費場景中,consumergroup分組已經無意義。所有consumer端均可消費相同的訊息。因此只需要比較被消費的訊息msgid是否相同即可。

4、評測過程

(1)producer端向topic名稱為「ordertopictest」佇列傳送海量訊息,定為10條,傳送訊息後並記錄每條訊息的msgid、queueid、topicid等基本資訊。

(2)配置5組不同的consumergroup,名稱分別為:defaultcluster、 defaultcluster、defaultcluster1、 defaultcluster2、 defaultcluster3(第一組、第二組設定相同的consumergroup名稱), 並分別對每組訂閱相同的topic、配置相同的namesrvaddr位址,並且配置consumer端的訊息模式為廣播模式。

設定預設defaultcluster組的consumer端關鍵**如下:

設定預設defaultcluster1組的consumer端關鍵**如下:

(3)優先啟動5個consumer端,然後啟動producer端,傳送訊息後,即可在所有consumer端檢視訊息的消費記錄。

第一組consumer消費記錄如下:

第二組consumer消費記錄如下:

第三組consumer消費記錄如下:

第四組consumer消費記錄如下:

第五組consumer消費記錄如下:

(4)訊息消費分析對比

第一組 與 第二組都屬於defaultcluster組,只是instancename例項名稱不同。

第三組、第四組、第五組的均屬於不同的cluster組,但instancename例項名稱相同。

分析五個組的消費記錄,相同訊息在所有consumer端的消費過程都是一樣的,包括訊息被消費的順序、訊息msgid、訊息所在的queueid都是一樣的。

二 評測結果

rocketmq具備廣播消費的能力,正在執行的所有consumer例項,不管該consumer屬於哪乙個consumergroup組,都可以消費同一條訊息,並且所有consumer端消費訊息的順序、訊息所在queueid等等都是相同的。

rocketmq 訊息佇列

rocketmq 是乙個分布式的訊息佇列,主要有product,broker,consumer,nameserver組成,提供流量的削峰填谷,非同步通知,應用解耦的功能。rocketmq和kafka功能上比較相似,但是在底層架構上還是有很多不同,比如kafka中每個topic下的每個partitio...

rocketmq廣播訊息的(五)

廣播消費指的是 一條訊息被多個consumer消費,即使這些consumer屬於同乙個consumergroup,訊息也會被consumergroup中的每個consumer都消費一次,廣播消費中consumergroup概念可以認為在訊息劃分方面無意義。發布訂閱訊息生產者 public class...

訊息佇列之RocketMq

rocketmq 是阿里巴巴在2012年開源的分布式訊息中介軟體,有點什麼的就不多說了,就直接將怎麼用。rocketmq大概就是真麼一種結構,具體的使用流程就是,訊息生產者 producer 將訊息發布到訊息中心,消費者 consumer 啟動監聽,當監聽到訊息時去訊息中心拿訊息。而nameserv...