您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何實現Rocketmq消息隊列廣播消費測試,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
一 機器部署
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消息隊列廣播消費測試”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。