訊息傳送基本流程:
1、訊息驗證
驗證主題(topic),訊息體不能為空和大小不能超過4m。
2、路由查詢
a、檢視快取,是否有topic的路由資訊。
b、如果沒有則到nameserver中獲取路由資訊,如果快取內能找到則獲取相應路由資訊。
c、從快取中獲取上一次異常的broker節點資訊,跟獲取到的節點資訊進行排查,提高訊息傳送的效能。(broker 規避)
d、如果訊息傳送失敗,則輪休路由進行重試。(重試)
3、訊息傳送
a、同步訊息
b、非同步訊息
c、單向傳送
d、批量訊息傳送
原始碼分析:
待補充……
RocketMq傳送訊息Producer配置
在使用阿里的rocketmq傳送資料時,大資料量,多執行緒情況下,會產生並非網路原因的傳送失敗.故使用以下傳送方式,方法是採用內部靜態型別的單例模式.component public class producerbeansingleton private string producerid valu...
RocketMQ訊息順序傳送和消費問題
事故現場分析 由於創新業務產品上線,運營產品想通過一些活動來刺激使用者,採用註冊邀請機制即可獲取積分的相關活動。考慮到後續可能還有其他可能的活動來發放積分,所以設計的時候,採用mq訊息模式發放積分,非同步解耦,並能夠保證資料的最終一致性。考慮到使用者積分計算的時候可能存在併發操作的情況,想到兩種解決...
RocketMQ(04) 傳送順序訊息
如果你的業務上對訊息的傳送和消費順序有較高的需求,那麼在傳送訊息的時候你需要把它們放到同乙個訊息佇列中,因為只有同乙個佇列的訊息才能確保消費的順序性。下面 我們在傳送訊息的時候,呼叫的是需要傳遞messagequeueselector的send 該方法還可以傳遞乙個額外的引數,其對應messageq...