淺談 RabbitMQ(一)工作模型與 Exchange 型別
阿新 • • 發佈:2021-08-12
目錄
為什麼要使用MQ
非同步
同步請求與響應方式:服務A請求服務B,在得到響應結果前,服務A必須阻塞等待,極大影響了吞吐量(TPS)
服務非同步請求方式:服務A發起請求,然後進行其它任務,收到服務B的響應後繼續進行相應的業務
解耦
多個服務之間通過MQ傳輸訊息,減少耦合性
削峰
大量的請求如果直接訪問服務,會導致服務宕機等問題,使用MQ可達到緩衝削峰的作用
RabbitMQ工作模型
基於AMQP(高階訊息佇列協議),可跨平臺
Exchange路由型別
訊息提供者將訊息傳送給
Exchange
路由(轉發)給各個Queue
Direct Exchange(直連)
直連型別:使用Binding Key
將Queue
繫結到Direct Exchange
,訊息提供者傳送訊息時使用Routing Key
傳送到指定的Queue
,消費者通過監聽相應的Queue
獲取並消費訊息
Topic Exchange(主題)
最靈活的型別,
Binding Key
可以使用萬用字元限定Routing Key
# 表示匹配0
個或多個字元
- 表示匹配
1
個字元
主題型別:使用Routing Key
將訊息轉發給多個Queue
Fanout Exchange(廣播)
廣播型別不需要
Binding Key
和Routing Key
廣播型別:訊息提供者將訊息傳送給Fanout Exchange
後會轉發給繫結到Fanout Exchange
上的所有Queue
本文來自部落格園,作者:金木研King,轉載請註明原文連結:https://www.cnblogs.com/jinzlblog/p/15132692.html