RabbitMQ 深入淺出
什麼是 RabbitMQ
RabbitMQ 是在各企業中最為廣泛使用的 Message Queue
RabbitMQ 采用了 AMQP(Advanced Message Queuing Protocol)協議來實現消息的傳遞。
在 AMQP 中,消息由三部分組成:交換器(Exchange)、佇列(Queue)和綁定(Binding)。
交換器(Exchange) 和 佇列(Queue) 用來存儲消息,
綁定(Binding) 則是將交換器和佇列關聯起來,以便將消息從交換器路由到相應的佇列中。
Message Queue 就是把 訊息(Message) 放到 佇列(Queue) 上
我們可以把它想成是「郵局」,作為「寄件者」與「收件者」之間訊息傳遞的橋樑,
郵局的功用除了確認這些訊息準確地傳遞外,
最大的好處就是傳遞失敗的時候訊息(郵件)還會保留在郵局中,
另外此套服務支援眾多語言,
詳細可以參考這篇RabbitMQ Tutorials
重要名詞介紹

Producer
生產者,發送訊息的服務
Consumer
消費者,負責接收訊息的服務
Queue
想成是一個郵箱,存放生產者發送的訊息
Exchange
交換機,接收生產者的訊息,然後傳遞給路由完全匹配的 Queue
Binding
主要告訴Exchange負責哪些 Queue , 跟 Exchange 一起使用
RabbitMQ的消息模式
- Direct 模式
- Worker 模式
- Publish/Subscribe 模式
- Routing 模式
- Topics 模式
Direct 模式

P(producer/ publisher):生產者,發送訊息的服務
C(consumer):消費者,接收訊息的服務
紅色區域就是MQ中的Queue,可以把它理解成一個郵局
首先信件來了不強求必須馬上拿走
其次,它是有最大容量的(受主機和磁碟的限制,是一個緩存區)
允許多個消費者監聽同一個佇列,爭搶訊息
參考連結
Loading...