前言
本章講解RabbitMQ的基本原理
方法
1.原理圖
2.名詞解釋
publisher:消息的生產者,也是一個向交換器發佈消息的客戶端應用程序
Exchange:RabbitMQ的核心,也是我們必須要理解的東西,這個就是RabbitMQ的交換器。
常見的交換器有以下三種:
1)Direct(發佈與訂閱,完全匹配)默認
2)fanout(廣播)
3)topic(主題,規則匹配)
這個我們後面會重點講解這三種交換器。
Queue:消息隊列,用來保存消息直到發送給消費者,也是RabbitMQ的核心組件
Binding:所謂綁定就是將一個特定的 Exchange 和一個特定的 Queue 綁定起來,基於路由鍵進行標識
Routing-Key:路由鍵,RabbitMQ決定消息投遞到哪個隊列的規則,發送消息時,消息將綁定一個路由鍵,由路由鍵決定投遞到哪個隊列
Virtual Host:每一個vhost本質上是一個迷你版的rabbitmq server,分別管理各自的exchange,和bindings。vhost相當於物理的server,可以爲不同app提供邊界隔離,使得應用安全的運行在不同的vhost實例上,相互之間不會干擾。producer和consumer連接rabbit server需要指定一個vhost。默認的vhost爲/
Broker:表示消息隊列服務器的實體,其可以擁有多個vhost
Connection:指的是RabbitMQ與服務之間建立的TCP連接
Channel:信道,一個TCP連接可以有多個信道,消息的發佈、訂閱等都通過信道完成
Consumer:消息的消費者,表示一個從消息隊列中取得消息的客戶端應用程序
3.默認的通信過程
1)首先消息的生產者將生產出的消息發送至交換器Exchange
2)Exchange收到消息,根據路由鍵,將消息轉發給匹配的Queue
3)此時,Queue收到消息,根據路由鍵將消息發送給指定的消息消費者
4)消費者收到消息,返回信息給Queue表示收到信息
4.圖形化界面的選項卡
1)表示Connection連接的選項卡
2)表示Channel信道的選項卡
3)表示Exchange交換器的選項卡
其中AMQP default爲默認的選項卡,它的類型就是direct
4)表示Queue隊列的選項卡
5)表示Virtual Host虛擬主機的選項卡