01 為什麼需要訊息佇列?

2022-04-03 15:55:35 字數 1183 閱讀 8314

對於對於這 5 個步驟來說,能否決定秒殺成功,實際上只有風險控制和庫存鎖定這 2 個步驟。只要使用者的秒殺請求通過風險控制,並在服務端完成庫存鎖定,就可以給使用者返回秒殺結果了,對於後續的生成訂單、簡訊通知和更新統計資料等步驟,並不一定要在秒殺請求中處理完成。

令牌發生器按照預估的處理能力,勻速生產令牌並放入令牌佇列(如果佇列滿了則丟棄令牌),

閘道器在收到請求時去令牌佇列消費乙個令牌,獲取到令牌則繼續呼叫後端秒殺服務,如果獲取不到令牌則直接返回秒殺失敗。

訊息佇列的另外乙個作用,就是實現系統應用之間的解耦

訊息佇列最常被使用的三種場景:非同步處理、流量控制和服務解耦。

當然,訊息佇列的適用範圍不僅僅侷限於這些場景,還有包括:

作為發布 / 訂閱系統實現乙個微服務級系統間的觀察者模式;

連線流計算任務和資料;

用於將訊息廣播給大量接收者。

同時我們也要認識到,訊息佇列也有它自身的一些問題和侷限性,包括:

引入訊息佇列帶來的延遲問題;

增加了系統的複雜度;

可能產生資料不一致的問題。 

訊息佇列 01 為什麼需要訊息佇列)

主要功能就是收發訊息,但不僅僅是解決應用之間的通訊問題eg.秒殺系統 流程 風險控制 庫存鎖定 生成訂單 簡訊通知 更新統計資料 使用訊息佇列伺服器只需要先實現風控和庫存鎖定 好處 更快返回結果 減少等待,提公升系統功能 健壯框架設計思路 使用訊息佇列隔離閘道器和後端服務,以達到流量控制和保護後端服...

為什麼需要訊息佇列,及使用訊息佇列的好處?

一 訊息佇列的特性 業務無關,乙個具有普適性質的訊息佇列元件不需要考慮上層的業務模型,只做好訊息的分發就可以了,上層業務的不同模組反而需要依賴訊息佇列所定義的規範進行通訊。fifo,先投遞先到達的保證是乙個訊息佇列和乙個buffer的本質區別。容災,對於普適的訊息佇列元件來說,節點的動態增刪和訊息的...

為什麼需要訊息佇列,及使用訊息佇列的好處?

業務無關,乙個具有普適性質的訊息佇列元件不需要考慮上層的業務模型,只做好訊息的分發就可以了,上層業務的不同模組反而需要依賴訊息佇列所定義的規範進行通訊。fifo,先投遞先到達的保證是乙個訊息佇列和乙個buffer的本質區別。容災,對於普適的訊息佇列元件來說,節點的動態增刪和訊息的持久化,都是支援其容...