產品類
更新時間 2023-06-18 17:16:40
最近更新時間: 2023-06-18 17:16:40
分享文章
順序消息和普通消息的區別是什么
最大的區別在于是否能保證消息生產和消費的順序一致。
對于順序消息,消息均根據ShardingKey進行區塊分區,同一分區內的消息消費滿足先進先出,保證分區有序,不同分區的消息消費順序不做要求。
普通消息則沒有該項保證,消息消費的順序跟生產的順序不一定保證一致性。
RocketMQ集群消費和廣播消費區別是什么
使用集群消費模式時,MQ內任意一條消息只需被訂閱組集群內的任意一個消費者消費即可。
使用廣播消費模式時,MQ內每條消息都會投遞到訂閱組集群的所有消費者,每條消息至少被每個消費者消費一次。
多個訂閱組訂閱同一個主題時消息如何被消費
RocketMQ中訂閱關系并非是一對一的,一個主題可以被一個或多個訂閱組訂閱,但不同訂閱組之間的消費是互不影響的,它們各自維護自己在當前主題的消費偏移信息,每一條消息都會被訂閱該主題的訂閱組接收到。
消息消費失敗是否會有重試機制
在push消費模式下,RocketMQ在消費者消費消息失敗后會通過將消息重新投遞到該訂閱組的重試隊列在一定時間后會被消費者重新消費到,如果多次失敗則會多次重復上述的重試過程,超過最大次數之后(創建訂閱組時可配置)會將消息投遞到死信隊列。
消息消費的負載均衡策略是什么
在push消費模式下,RocketMQ的一個Queue同一時間內只會被一個消費者消費,一個主題內的全部Queue會根據負載均衡策略(默認的是根據平均分配原則)分配給訂閱組的全部消費者。
消息消費時是否會出現重復消費的情況
RocketMQ可能出現重復消費的情況,比如在Push模式的消費模式下,由于網絡等原因可能出現本地消費者實際消費到超過Broker保存的消費偏移的消息,如果此時發生消費者下線重新上線就會拉取到已經消費過消息。建議客戶端的邏輯保證消費的冪等性。