高併發之訊息佇列

2021-08-31 09:21:18 字數 644 閱讀 3457

比如乙個介面處理簡訊傳送,如果沒處理完就可以放入訊息佇列;然後等待介面處理,如果介面處理簡訊傳送失敗則可以再次放入訊息佇列,減少嘗試的次數和占用的執行緒,再次進行處理。

舉幾個例子

業務系統觸發簡訊傳送申請,但簡訊傳送模組速度跟不上,需要將來不及處理的訊息暫存一下,緩衝壓力。就可以把簡訊傳送申請丟到訊息佇列,直接返回使用者成功,簡訊傳送模組再可以慢慢去訊息佇列中取訊息進行處理。

調遠端系統下訂單成本較高,且因為網路等因素,不穩定,攢一批一起傳送。調遠端系統下訂單成本較高,且因為網路等因素,不穩定,攢一批一起傳送。

任務處理類的系統,先把使用者發起的任務請求接收過來存到訊息佇列中,然後後端開啟多個應用程式從佇列中取任務進行處理。任務處理類的系統,先把使用者發起的任務請求接收過來存到訊息佇列中,然後後端開啟多個應用程式從佇列中取任務進行處理。

kafka

kafka講解詳細見本人部落格的分類kafka筆記

訊息佇列處理高併發

用mq來將耗時比較長或者耗費資源的請求排隊,非同步處理,減輕伺服器壓力增加穩定性。如果是高併發的實時請求,我個人覺得不適用這個方案。如果是為了高併發,我覺得應該朝解決高併發的方向考慮。集群 分布式 動靜分離 資料庫讀寫分離之類的。web的話,只能客戶端頁面輪訓處理結果。因為,據我個人了解啊,現在we...

高併發系統設計 訊息佇列

該文章記錄極客時間 高併發系統設計 系列文章的相關知識點,供以後自己檢視。這篇文章主要介紹一下訊息佇列的使用。訊息佇列一般有以下作用 非同步處理 解耦合和削峰填谷。訊息佇列可能存在訊息丟失的情況,如何防止訊息丟失以及在訊息重複的場景,如何保證盡量不影響訊息最終的處理結果。訊息的丟失可以通過生產端的重...

高併發場景 多執行緒,訊息佇列應用

高併發產生的應用場景 在同時很多人同時訪問乙個業務一樣。例如很多人都想上廁所但是只有乙個廁所,每次只能就去乙個人乙個人結束後另乙個人才能上廁所這個屬於單執行緒產生的效果 以上兩種場景唯一不變的是廁所每次只有一人能進行,還有上廁所的人,變的是廁所變多了 訊息佇列 訊息佇列相當於將上廁所的每個人都加入到...