訊息佇列的使用場景

2021-10-09 19:04:00 字數 944 閱讀 7047

訊息佇列:是分布式系統中重要的元件,主要解決應用耦合,非同步訊息,流量削鋒等問題,實現高效能,高可用,可伸縮和最終一致性架構,是大型分布式系統不可缺少的中介軟體

使用場景:

使用者註冊成功後,傳送註冊郵件,再傳送註冊簡訊

序列方式:將註冊資訊寫入資料庫成功後,向使用者傳送郵件,在傳送註冊簡訊,將結果放回給客戶端

並行方式:將註冊資訊寫入資料庫成功後,傳送註冊郵件的同時,傳送註冊簡訊,以上三個任務完成後,返回給客戶端

訊息佇列:將註冊資訊寫入資料庫成功後,註冊資訊寫入訊息佇列,傳送郵件和簡訊的消費者非同步讀取訊息佇列,寫入訊息佇列即返回給客戶端

場景說明:使用者下單後,訂單系統需要通知庫存系統

傳統方式:訂單系統呼叫庫存系統的介面

訊息佇列:

訂單系統:使用者下單後,訂單系統完成持久化處理,將訊息寫入訊息佇列,返回使用者訂單下單成功

庫存系統:訂單下單的訊息,採用拉/推的方式,獲取下單資訊,庫存系統根據下單資訊,進行庫存操作

場景說明:秒殺活動,一般會因為流量過大,導致流量暴增

傳統方式:服務端突然介面來自前端的大量訂單請求

訊息佇列:在應用前端加入訊息佇列

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

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

解決大量日誌傳輸的問題

日誌採集客戶端,負責日誌資料採集,寫入kafka佇列

ka***訊息佇列,負責日誌資料的介面,儲存和**

日誌處理應用:訂閱並消費kafka佇列中的日誌資料

點對點訊息佇列,或者聊天室

客戶端a和客戶端b使用同一佇列,進行訊息通訊

客戶端a和客戶端b,客戶端n訂閱同一主題,進行訊息發布和接收

主要產品

activemq,rabbitmq,zeromq,kafka,metamq,rocketmq等

訊息佇列使用場景

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

訊息佇列的使用場景

知乎 假設使用者在你的軟體中註冊,服務端收到使用者的註冊請求後,它會做這些操作 校驗使用者名稱等資訊,如果沒問題會在資料庫中新增乙個使用者記錄 如果是用郵箱註冊會給你傳送一封註冊成功的郵件,手機註冊則會傳送一條簡訊 分析使用者的個人資訊,以便將來向他推薦一些志同道合的人,或向那些人推薦他 傳送給使用...

訊息佇列的使用場景

場景說明 使用者註冊後,需要發註冊郵件和註冊簡訊。傳統的做法有兩種1.序列的方式 2.並行方式。2 並行方式 將註冊資訊寫入資料庫成功後,傳送註冊郵件的同時,傳送註冊簡訊。以上三個任務完成後,返回給客戶端。與序列的差別是,並行的方式可以提高處理的時間。假設三個業務節點每個使用50毫秒鐘,不考慮網路等...