RocketMQ順序消息的實現機制


https://www.cnblogs.com/hzmark/p/orderly_message.html

Producer端確保消息順序唯一要做的事情就是將消息路由到特定的分區,在RocketMQ中,通過MessageQueueSelector來實現分區的選擇。

Consumer端

RocketMQ消費端有兩種類型:MQPullConsumer和MQPushConsumer。

MQPullConsumer由用戶控制線程,主動從服務端獲取消息,每次獲取到的是一個MessageQueue中的消息。PullResult中的List msgFoundList自然和存儲順序一致,用戶需要再拿到這批消息后自己保證消費的順序。

對於PushConsumer,由用戶注冊MessageListener來消費消息,在客戶端中需要保證調用MessageListener時消息的順序性。RocketMQ中的實現如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM