RabbitMQ入門(三)RabbitMQ原理淺析

前言

      本章講解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虛擬主機的選項卡

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章