亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現Rocketmq集群消費測試

發布時間:2021-12-17 14:23:36 來源:億速云 閱讀:236 作者:小新 欄目:云計算

小編給大家分享一下如何實現Rocketmq集群消費測試,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

一 機器部署

1、機器組成

7臺機器,均為16G內存

每臺服務器均有4個CPU,2核

如何實現Rocketmq集群消費測試

2、運行環境配置

如何實現Rocketmq集群消費測試

3、刷盤方式

每臺機器master機器均采用異步刷盤方式

如何實現Rocketmq集群消費測試

如何實現Rocketmq集群消費測試

二 性能評測

1、評測目的

   測試consumer端的集群模式消費。

2、評測指標

    (1)topic關聯的readQueueNums讀隊列數值

    (2)屬于同一個consumerGroup的consumer個數

    (3)所有consumer消費消息的總條數

    (4)每個consumer消費消息,讀取的隊列Id

    (5)部署集群中的master機器臺數

3、評測邏輯

  如果有 5 個隊列,2 個 consumer,那么第一個 Consumer 消費 3 個隊列,第二 consumer 消費 2 個隊列。

    如果Consumer 超過隊列數量,那么多余的Consumer 將不能消費消息。

    隊列數量、Consumer數量、Replance結果如下表

隊列數量Consumer數量Reblance結果
52C1:3
C2:2
63C1:3
C2:3
1020C1-C10:1
C11-C20:0
206C1:4
C2:4
C3-C4:3

4、評測過程

       (1)發送消息前,查看服務端的topic關聯的隊列個數。

       (2)producer端向topic名稱為“clusterTopicTest”隊列發送消息,定為20條,發送消息后并記錄每條消息的msgId、queueId、offset等基本信息。

    (3)配置consumer端,日志記錄每個consumer端的instanceName、消息的offset、所消費隊列queueId、消息的body、消息msgId,以及每個consumer消費消息的總條數。

    (4)每次消費完之后,統計所有consumer端消費消息的總數,判斷消息是否有丟失。

    (5)每次消費完之后,分析每個consumer消費隊列的queueId,判斷隊列是否達到了負載均衡

    (6)記topic的隊列數為A,記consumer個數為B,做如下調整:

    第一組:保持A不變,增加B,使得A > B,然后重復步驟1-5。

    第二組:保持A不變,增加B,使得A = B,然后重復步驟1-5。

    第三組:保持A不變,增加B,使得A = 2 * B,然后重復步驟1-5。

    第三組:增加A,保持B不變,使得2 * A = B,然后重復步驟1-5。

    第五組:減少A,保持B不變,使得2 * A < B,然后重復步驟1-5。

    (7)注意:需要先啟動所有consumer端,在啟動producer端發送消息,這樣才能在每個consumer端同時看到消息的消費情況,因為消息被消費的速率是很快的。

    (8)注意:master機器個數,每臺master機器上指定topic的隊列數,兩數值相乘,才是最終的rocketmq做負載均衡的隊列個數。 (步驟6的master機器個數為2)

    第一組,總發送條數20條

隊列數量Consumer數量Reblance結果
(期望)
Reblance結果
(實際)
Master機器消費條數
Master1Master2




85C1:4C1:4408
C2:3C2:3123

C3:3C3:3033

C4:3C4:3303

C5:3C5:3033

    3個consumer消費消息總條數:8+3+3+3+3 = 20條

    2臺master機器,每個topic有8個隊列, 期望的隊列個數 2*8=16個,實際的隊列個數 4+3+3+3+3 = 16個,可以看出期望、實際的queue分布是相同的結果。

    producer的發送記錄:

如何實現Rocketmq集群消費測試

    consumer1的消費記錄:

如何實現Rocketmq集群消費測試

    consumer2的消費記錄:

如何實現Rocketmq集群消費測試

    consumer3的消費記錄:

如何實現Rocketmq集群消費測試

    consumer4的消費記錄:

如何實現Rocketmq集群消費測試

    consumer5的消費記錄:

如何實現Rocketmq集群消費測試

    第二組,總發送條數20條

隊列數量Consumer數量Reblance結果
(期望)
Reblance結果
(實際)
Master機器消費條數
Master1Master2




88C1:2C1:2204
C2:2C2:2022

C3:2C3:2022

C4:2C4:2022

C5:2C5:2022

C6:2C6:2204

C7:2C7:2202

C8:2C8:2202

    8個consumer消費消息總條數:8+3+3+3+3 = 20條

    2臺master機器,每個topic有8個隊列, 期望的隊列個數 2*8=16個,實際的隊列個數 2+2+2+2+2+2+2+2 = 16個,可以看出期望、實際的queue分布是相同的結果。

    8個consumer消費消息總條數:4+2+2+2+2+2+4+2+2 = 20條

    producer的發送記錄:

如何實現Rocketmq集群消費測試

    consumer1的消費記錄:

如何實現Rocketmq集群消費測試

    consumer2的消費記錄:

如何實現Rocketmq集群消費測試

    consumer3的消費記錄:

如何實現Rocketmq集群消費測試

    consumer4的消費記錄:

如何實現Rocketmq集群消費測試

    consumer5的消費記錄:

如何實現Rocketmq集群消費測試

    consumer6的消費記錄:

如何實現Rocketmq集群消費測試

    consumer7的消費記錄:

如何實現Rocketmq集群消費測試

    consumer8的消費記錄:

如何實現Rocketmq集群消費測試

第三組,總發送條數20條

隊列數量Consumer數量Reblance結果
(期望)
Reblance結果
(實際)
Master機器消費條數
Master1Master2




84C1:4C1:4408
C2:4C2:4404

C3:4C3:4044

C4:4C4:4044

    8個consumer消費消息總條數:8+3+3+3+3 = 20條

    2臺master機器,每個topic有8個隊列, 期望的隊列個數 2*8=16個,實際的隊列個數 4+4+4+4 = 16個,可以看出期望、實際的queue分布是相同的結果。

    8個consumer消費消息總條數:8+4+4+4 = 20條

    producer的發送記錄:

如何實現Rocketmq集群消費測試

    consumer1的消費記錄:

如何實現Rocketmq集群消費測試

    consumer2的消費記錄:

如何實現Rocketmq集群消費測試

    consumer3的消費記錄:

如何實現Rocketmq集群消費測試

    consumer4的消費記錄:

如何實現Rocketmq集群消費測試

第四組,總發送條數20條

隊列數量Consumer數量Reblance結果
(期望)
Reblance結果
(實際)
Master機器消費條數
Master1Master2




48C1:1C1:1103
C2:1C2:1103

C3:1C3:1012

C4:1C4:1012

C5:1C5:1012

C6:1C6:1012

C7:1C7:1103

C8:1C8:1103

    8個consumer消費消息總條數:8+3+3+3+3 = 20條

    2臺master機器,每個topic有8個隊列, 期望的隊列個數 2*4=8個,實際的隊列個數 1+1+1+1+1+1+1+1= 8個,可以看出期望、實際的queue分布是相同的結果。

    8個consumer消費消息總條數:3+3+2+2+2+2+3+3 = 20條

    producer的發送記錄:

如何實現Rocketmq集群消費測試

    consumer1的消費記錄:

如何實現Rocketmq集群消費測試

    consumer2的消費記錄:

如何實現Rocketmq集群消費測試

    consumer3的消費記錄:

如何實現Rocketmq集群消費測試

    consumer4的消費記錄:

如何實現Rocketmq集群消費測試

    consumer5的消費記錄:

如何實現Rocketmq集群消費測試

    consumer6的消費記錄:

如何實現Rocketmq集群消費測試

    consumer7的消費記錄:

如何實現Rocketmq集群消費測試

    consumer8的消費記錄:

如何實現Rocketmq集群消費測試

第五組,總發送條數20條

隊列數量Consumer數量Reblance結果
(期望)
Reblance結果
(實際)
Master機器消費條數
Master1Master2




37C1:1C1:1013
C2:1C2:1104

C3:1C3:1013

C4:1C4:1103

C5:1C5:1104

C6:1C6:1013

C7:0C7:0000

    8個consumer消費消息總條數:8+3+3+3+3 = 20條

    2臺master機器,每個topic有8個隊列, 期望的隊列個數 2*3=6個,實際的隊列個數 1+1+1+1+1+1+0 = 6個,可以看出期望、實際的queue分布是相同的結果。

    8個consumer消費消息總條數:3+4+3+3+4+3+0 = 20條

    producer的發送記錄:

如何實現Rocketmq集群消費測試

    consumer1的消費記錄:

如何實現Rocketmq集群消費測試

    consumer2的消費記錄:

如何實現Rocketmq集群消費測試

    consumer3的消費記錄:

如何實現Rocketmq集群消費測試

    consumer4的消費記錄:

如何實現Rocketmq集群消費測試

    consumer5的消費記錄:

如何實現Rocketmq集群消費測試

    consumer6的消費記錄:

如何實現Rocketmq集群消費測試

    consumer7的消費記錄:

如何實現Rocketmq集群消費測試

二 評測結果

    1、rocketmq集群消費模式,訂閱消息的確達到了隊列負載均衡,與這種負載均衡消費相關的因素有: master機器個數、 特定topic的queue個數,這兩個數值相乘,才是rocketmq最終計算隊列的總數。

    2、rocketmq的集群消費能力,保證消息準確性,完整性,所有被消費的消息總數與producer端發送的消息總數是一致的,不存在消息丟棄的情況。

    3、分析consumer消費日志,說明每條消息在相同consumerGroup組的不同consumer端中僅僅只會被消費一次。

    4、在集群消費模式下,如果consumer的總數,超過了隊列總數,那么多余的consumer端將不能消費消息。

以上是“如何實現Rocketmq集群消費測試”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

增城市| 天全县| 荔波县| 扎兰屯市| 天镇县| 三江| 西林县| 兖州市| 青铜峡市| 余庆县| 原阳县| 城市| 嘉祥县| 寿阳县| 景德镇市| 哈巴河县| 朔州市| 祁门县| 洪泽县| 织金县| 南木林县| 卓尼县| 赞皇县| 大丰市| 汤原县| 西乌珠穆沁旗| 郯城县| 海安县| 南皮县| 类乌齐县| 牟定县| 临海市| 阿荣旗| 南溪县| 乐安县| 温泉县| 定陶县| 泾川县| 栖霞市| 平昌县| 新源县|