訊息中介軟體的應用場景

2022-09-22 02:06:07 字數 1409 閱讀 8945

今天基於rabbitmq的學習聊一下他的應用場景:

1、work_queue 工作佇列模式

例如我們有的時候有傳送簡訊的的服務,同事要傳送簡訊的時候比較多,那麼一台服務吃不消,這樣的話我們就可以使用這種模式來進行削峰填谷。如下圖

p是生產者 這個端要傳送訊息的量特別大(加入要傳送1000),並且傳送訊息不影響後邊的業務執行,這時候我們就使用mq來削峰。

c1和c2是相同的服務,都為簡訊服務,他們兩個單獨的處理能力為五百,這樣兩個加起來就有一千的量了(mq出來1000的訊息量綽綽有餘),而且這種模式下c1消費後c2就不會重複消費。

2、pub/sub 發布訂閱模式

參照下圖:

注意 此時紅色為佇列queue p是生產者 c是消費者  x是交換機

使用場景:fanout 廣播模式,當傳送同乙個訊息時候c1和c2為不同的服務,分別要根據同乙個訊息做不同的處理,比如說c1是為了日誌列印c2是為了日誌儲存到資料庫。這個時候才用廣播模式,起到應用解耦的作用。

3、routing模式 路由模式

注意:routing模式下交換機繫結佇列時要指定routing key,訊息被傳送時會**到對應的佇列中 ,還有交換機的型別要是direct

使用場景:下單後要對這個庫存進行修改,這時候可以為庫存系統專門設定乙個佇列,然後設定乙個key,注意這時候必須是下單成功。(看不明白就別較勁了,場景是我自己想的)

4、topics萬用字元模式

注意:其實當前模式可以實現發布訂閱模式,假設所有佇列繫結的都是*,那匹配時就類似於pub/sub模式了,實現routing模式,就是萬用字元寫的不那麼複雜就行,只是這種方式在設定routing key的時候更加的靈活

使用場景:上述的皆可用(本人沒有太多實戰經驗,鍵盤那選手,只是做下記錄)

amqp是什麼?高階訊息 佇列協議

amqp,即advanced message queuing protocol,乙個提供統一訊息服務的應用層標準高階訊息佇列協議,是應用層協議的乙個開放標準,為面向訊息的中介軟體設計。基於此協議的客戶端與訊息中介軟體可傳遞訊息,並不受客戶端/中介軟體不同產品,不同的開發語言等條件的限制。

未完待續。。。。

訊息中介軟體應用場景

訊息佇列中介軟體是分布式系統中重要的元件,主要實現非同步訊息,應用解耦,流量削峰及訊息通訊等功能。下面舉例說明在實際應用中訊息佇列是如何使用的。以使用者註冊,並且需要註冊郵件和簡訊為例。使用者註冊後,需要傳送註冊郵件和註冊簡訊。傳統的做法有兩種 序列和並行方式。如下圖所示 1 序列方式 將註冊資訊寫...

訊息中介軟體 使用場景

訊息佇列在實際應用中包括如下四個場景 具體場景 使用者使用qq相簿上傳一張,人臉識別系統會對該進行人臉識別,一般的做法是,伺服器接收到後,上傳系統立即呼叫人臉識別系統,呼叫完成後再返回成功,如下圖所示 該方法有如下缺點 人臉識別系統被調失敗,導致上傳失敗 延遲高,需要人臉識別系統處理完成後,再返回給...

訊息中介軟體的使用場景

一般認為,採用訊息傳送機制 訊息佇列 的中介軟體技術,進行資料交流,用在分布式系統的整合。解決分布式系統之間訊息的傳遞。電商場景 使用者下單減庫存,呼叫物流系統,系統擴充後服務化和業務拆分。系統互動,y一般用rpc 遠端過程呼叫 如果系統擴充到有幾十個介面,訊息中介軟體來解決問題。一 非同步處理 使...