成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

阿里二面:RocketMQ同一個消費組內的消費者訂閱量不同tag,會有問題嗎?

開發 前端
同一個消費組內的消費者,如果訂閱了相同的 topic,但是訂閱的 tag 不一樣,會有什么問題嗎?本篇就這一面試常遇到的問題給大家詳細介紹一下。

[[440905]]

面試官:同一個消費組內的消費者,如果訂閱了相同的 topic,但是訂閱的 tag 不一樣,會有什么問題嗎?

我:會出現丟消息的情況。

面試官:能詳細說一說嗎?

我:RocketMQ 要求同一個消費組內的消費者必須訂閱關系一致,如果訂閱關系不一致,會出現消息丟失的問題。

面試官:什么是訂閱關系一致呢?

我:訂閱關系一致是指同一個消費者組下所有消費者所訂閱的 Topic、Tag 必須完全一致。如下圖所示:

其中,消費組 1 中的消費組都訂閱了 Topic1 中的 Tag1,消費組 2 中的消費組都訂閱了 Topic1 中的所有 Tag 以及 Topic2 中的 Tag1 || Tag2,消費組 3 中的消費組都訂閱了 Topic2 中的 Tag1 和 Tag2。

面試官:能舉幾個訂閱關系不一致的例子嗎?

我:訂閱不一致的情況有三種,如下圖:

消費組 1 的 Consumer1 和 Consumer2 都訂閱了 Topic1,但是訂閱的 Tag 不一致。

消費組 2 的 Consumer1 和 Consumer2 訂閱的 Topic 不一致。

消費組 3 的 Consumer1 和 Consumer2 訂閱的 Topic 和 Tag 都一致,但是訂閱 Tag 的順序不一致。

面試官:為什么訂閱關系不一致會導致消息丟失呢?

我:RocketMQ 的存儲架構,如下圖:

為了 提高消費效率,RocketMQ 引入了 ConsumeQueue,ConsumerQueue 中保存消息在 CommitLog 文件中的物理偏移量。ConsumerQueue 中的元素內容如下:

  • 前 8 個字節記錄消息在 CommitLog 中的偏移量。
  • 中間 4 個字節記錄消息消息大小。
  • 最后 8 個字節記錄消息中 tag 的 hashcode。

這個 tag 的作用是過濾消息,假如一個 Consumer 訂閱了 Topic1 中的 Tag1,那這個 Consumer 拉取消息時,首先從 Name Server 獲取訂閱關系,得到當前 Consumer 訂閱的所有 tag 的 hashcode 集合 codeSet。每次從 ConsumerQueue 獲取一條記錄,就要判斷最后 8 個字節 tag hashcode 是否在 codeSet 中,比如 Tag2 不在 codeSet 中,就會被過濾掉。如下圖:

 

 

消費組 1 消費 Topic1 中的消息時,Consumer1 通過 ConsumeQueue1 和 ConsumeQueue2 進行消費,Consumer2 通過 ConsumeQueue3 和 ConsumeQueue4 進行消費,如果 Consumer1 訂閱了 Tag1, Consumer2 訂閱了 Tag2,那 Consumer1 從 ConsumeQueue1 和 ConsumeQueue2 消費消息時,就會把 Tag2 中的消息過濾掉,這樣即使 Consumer2 訂閱了 Tag2,也不能消費到 ConsumeQueue1 和 ConsumeQueue2 里 Tag2 中的消息了。

面試官:有沒有方法可以快速知道消費組中有沒有訂閱關系不一致的問題?

:可以在 RocketMQ 的控制臺看到。在 RocketMQ 的實例列表中,進入 Group 管理頁面,查看要查找的 Group ID,查看詳情,如下圖:(下圖來自阿里云)

面試官:恭喜你,通過了。

 

責任編輯:姜華 來源: 程序員jinjunzhu
相關推薦

2022-03-14 11:05:01

RocketMQRedis緩存

2023-01-29 08:46:08

2022-07-07 09:00:49

RocketMQ消費者消息消費

2022-06-02 10:54:16

BrokerRocketMQ

2024-01-24 09:00:31

SSD訂閱關系內存

2024-04-22 00:00:00

RocketMQ優化位點

2015-08-26 09:39:30

java消費者

2022-11-08 07:36:17

RocketMQ消費者消息堆積

2021-07-12 10:25:03

RocketMQ數據結構kafka

2011-08-05 16:21:24

2011-07-22 16:25:38

CA TechnoloIT消費化

2023-09-26 08:01:46

消費者TopicRocketMQ

2023-06-01 08:08:38

kafka消費者分區策略

2022-05-09 11:15:05

RocketMQPULL 模式PUSH 模式

2016-12-15 08:54:52

線程sessionopenSession

2014-12-10 21:50:44

AdMaster

2022-11-14 00:21:07

KafkaRebalance業務

2012-03-05 15:37:37

Windows 8MSE

2021-08-31 10:26:24

存儲

2019-02-12 14:53:44

物聯網設備物聯網IOT
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品国产电影 | 偷偷操视频 | 亚洲福利在线视频 | www.蜜桃av.com | 国产日韩欧美中文 | 美女国内精品自产拍在线播放 | 日韩欧美在线播放 | 在线免费观看日本 | 国产精品毛片无码 | 夜夜爽99久久国产综合精品女不卡 | 在线国产一区二区 | 欧美精品在线一区 | 中文字幕精品视频在线观看 | 日日干天天操 | www.av在线| 国产精品日韩欧美一区二区三区 | 天天爱av | 亚洲精品9999久久久久 | 国产精品久久久久久久久婷婷 | 成人一区二区三区 | 国产免费av网 | 亚洲国产精品成人久久久 | 91精品国产综合久久久久久漫画 | 在线视频91| 色综合久久久久 | 韩国久久 | 超碰520 | 成人亚洲精品久久久久软件 | 2021天天干夜夜爽 | 精品国产一区久久 | 女同av亚洲女人天堂 | 久久久91精品国产一区二区三区 | 久草新在线 | 午夜成人在线视频 | 黑人巨大精品欧美一区二区免费 | 中文字幕一区在线观看视频 | 99视频在线免费观看 | 亚洲国产精品一区在线观看 | 久久99精品久久久久蜜桃tv | 男女羞羞网站 | 丁香婷婷综合激情五月色 |