轉自:
https://blog.csdn.net/ID__9527/article/details/84255680
RocketMQ是阿里巴巴公司的一個消息隊列框架(很多思想借鑒Kafka),對於RocketMQ本身不做過多說明,下面主要說明RocketMQ的兩種消費模型。
消費模型有兩種:廣播消費消息模型,集群消費消息模型。
廣播消費消息模型,指消費這消費某主題的所有隊列的消息,消費組在該消息模型下不起作用,類似JMS的publish/subscribe.
集群消費消息模型,是指同一個消費組的消費者各自消費某一主題的消費隊列的消息,比如有一個主題 topicA,該主題有4個隊列(創建主題的時候可以指定該主題的隊列的數量),有一個消費組testConsumerGroup,該消費組有四個消費者(四個機器或者四個進程),則四個消費者各自消費一個消息隊列。
情景回顧:在做RocketMQ的監控時,測試消息的消費情況,發現不同消費組,都會消費掉同一條消息,這和我對當時集群消費模型的理解(即:集群模式,消息隊列中的消息只能被消費一次)不符。在查閱資料及代碼驗證后得出結論:
1. 在Rocket集群消費模式下,(訂閱)同一個主題(Topic)下的消息,對於不同的消費組是一種“廣播形式”,即每個消費組的都會消費消息。
2. 在Rocket集群消費模式下,(訂閱)同一個主題(Topic)下的消息,對於相同的消費組的消費者而言是一種集群模式,即消費者平分消息並消費。
————————————————
版權聲明:本文為CSDN博主「ID__9527」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/ID__9527/java/article/details/84255680