很高興回答你的問題
定義
MQ全稱為MessageQueue,消息隊列(MQ)是一種應用程序對應用程序的通信方法。MQ是消費-生產者模型的一個典型的代表,一端往消息隊列中不斷寫入消息,而另一端則可以讀取隊列中的消息。
RabbitMQ是MQ的一種。
概念
- 簡單隊列模式和工作模式
隊列是RabbitMQ的內部對象,用于存儲消息。生產者(下圖中的P)生產消息并投遞到隊列中,消費者(下圖中的C)可以從隊列中獲取消息并消費。
多個消費者可以訂閱同一個隊列,這時隊列中的消息會被平均分攤給多個消費者進行處理,而不是每個消費者都收到所有的消息并處理。
2.發布訂閱模式
在應用中,只需要簡單的將隊列綁定到交換機上。一個發送到交換機的消息都會被轉發到與該交換機綁定的所有隊列上。很像子網廣播,每臺子網內的主機都獲得了一份復制的消息。
- 路由模式和主題模式
路由模式跟發布訂閱模式類似,然后在訂閱模式的基礎上加上了類型,訂閱模式是分發到所有綁定到交換機的隊列,路由模式只分發到綁定在交換機上面指定路由鍵的隊列。
topics主題模式跟routing路由模式類似,只不過路由模式是指定固定的路由鍵routingKey,而主題模式是可以模糊匹配路由鍵routingKey,類似于SQL中=和like的關系。
4.RPC模式
總結
以上就是rabbitmq在實際應用中具體的功能概念,具體使用哪種模式要根據業務需要。