訊息佇列使用的四種場景介紹

2021-09-02 21:50:45 字數 778 閱讀 6908

以下介紹訊息佇列在實際應用中常用的使用場景。非同步處理,應用解耦,流量削鋒和訊息通訊四個場景。

1.非同步處理

場景說明:使用者註冊後,需要發註冊郵件和註冊簡訊。做法有如下幾種

(1)序列方式:將註冊資訊寫入資料庫成功後,傳送註冊郵件,再傳送註冊簡訊。以上三個任務全部完成後,返回給客戶端。

(2)並行方式:將註冊資訊寫入資料庫成功後,傳送註冊郵件的同時,傳送註冊簡訊。以上三個任務完成後,返回給客戶端。與序列的差別是,並行的方式可以提高處理的時間。

(3)引入訊息佇列,將不是必須的業務邏輯,非同步處理。

2.應用解耦

場景說明:使用者下單後,訂單系統需要通知庫存系統。傳統的做法是,訂單系統呼叫庫存系統的介面。

引用訊息佇列後:

3. 流量削鋒

場景說明:秒殺活動,一般會因為流量過大,導致流量暴增,應用掛掉。為解決這個問題,一般需要在應用前端加入訊息佇列。

使用者的請求,伺服器接收後,首先寫入訊息佇列。假如訊息佇列長度超過最大數量,則直接拋棄使用者請求或跳轉到錯誤頁面,

秒殺業務根據訊息佇列中的請求資訊,再做後續處理。

4.日誌處理

日誌處理是指將訊息佇列用在日誌處理中,比如kafka的應用,解決大量日誌傳輸的問題

5.訊息通訊

訊息通訊是指,訊息佇列一般都內建了高效的通訊機制,因此也可以用在純的訊息通訊。比如實現點對點訊息佇列,或者聊天室等。

以上實際是訊息佇列的兩種訊息模式,點對點或發布訂閱模式。

訊息佇列使用的四種場景介紹

訊息佇列中介軟體是分布式系統中重要的元件,主要解決應用耦合,非同步訊息,流量削鋒等問題 實現高效能,高可用,可伸縮和最終一致性架構 使用較多的訊息佇列有activemq,rabbitmq,zeromq,kafka,metamq,rocketmq 以下介紹訊息佇列在實際應用中常用的使用場景。非同步處理...

訊息佇列常見的幾種使用場景介紹!

訊息佇列常見的幾種使用場景介紹!一 簡介 訊息佇列中介軟體是分布式系統中重要的元件,主要解決應用耦合,非同步訊息,流量削鋒等問題。實現高效能 高可用 可伸縮和最終一致性架構。使用較多的訊息佇列有activemq rabbitmq zeromq kafka metamq rocketmq。二 訊息佇列...

訊息佇列使用場景

1 非同步處理 減少等待時間,更快的返回處理結果,提高系統效能以及更好的使用者體驗。fe 在乙個秒殺系統中,可能需要如下幾步 風險控制,鎖定庫存,生成訂單,訊息通知以及統計資料,在未優化的情況下,使用者請求到達閘道器後進入服務端要至少 經歷這五個步驟,但是對於秒殺系統而言關鍵的步驟在於風險控制和鎖定...