1. 程式人生 > 其它 >淺談 RabbitMQ(一)工作模型與 Exchange 型別

淺談 RabbitMQ(一)工作模型與 Exchange 型別

目錄

為什麼要使用MQ

非同步

同步請求與響應方式:服務A請求服務B,在得到響應結果前,服務A必須阻塞等待,極大影響了吞吐量(TPS)

服務非同步請求方式:服務A發起請求,然後進行其它任務,收到服務B的響應後繼續進行相應的業務

解耦

多個服務之間通過MQ傳輸訊息,減少耦合性

削峰

大量的請求如果直接訪問服務,會導致服務宕機等問題,使用MQ可達到緩衝削峰的作用

RabbitMQ工作模型

基於AMQP(高階訊息佇列協議),可跨平臺

Exchange路由型別

訊息提供者將訊息傳送給Exchange路由(轉發)給各個Queue

Direct Exchange(直連)

直連型別:使用Binding KeyQueue繫結到Direct Exchange,訊息提供者傳送訊息時使用Routing Key傳送到指定的Queue,消費者通過監聽相應的Queue獲取並消費訊息

Topic Exchange(主題)

最靈活的型別,Binding Key可以使用萬用字元限定Routing Key
# 表示匹配0個或多個字元

  • 表示匹配1個字元

主題型別:使用Routing Key將訊息轉發給多個Queue

Fanout Exchange(廣播)

廣播型別不需要Binding KeyRouting Key

廣播型別:訊息提供者將訊息傳送給Fanout Exchange後會轉發給繫結到Fanout Exchange上的所有Queue

本文來自部落格園,作者:金木研King,轉載請註明原文連結:https://www.cnblogs.com/jinzlblog/p/15132692.html