RocketMQ 訊息傳送

2022-02-09 03:12:24 字數 361 閱讀 7029

訊息傳送基本流程:

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...