首頁  >  文章  >  後端開發  >  什麼是RabbitMQ? RabbitMQ的簡單介紹

什麼是RabbitMQ? RabbitMQ的簡單介紹

青灯夜游
青灯夜游轉載
2019-03-28 14:08:535347瀏覽

本篇文章帶來的內容是介紹RabbitMQ,讓大家了解一些RabbitMQ的相關知識。有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

RabbitMQ概覽

#RabbitMQ是一個高效能的分散式訊息中介軟體。它由Erlang編寫,這種語言天生支援分佈式,而且效能極高(但是比較難上手)。

通訊概念

RabbitMQ簡單理解就是一個佇列服務,我們的生產者不斷地往它投遞訊息,而消費者不斷地從它那裡獲取消息。但相較於利用redis的List這類簡單佇列,RabbitMQ的訊息投遞更靈活一點。首先需要知道一些RabbitMQ中的通訊概念:

 ● exchange(交換器)

 ● queue(佇列):訊息佇列載體,每個訊息都會被投入到一個或多個佇列。

 ● binding(綁定):它的作用就是把exchange和queue依照路由規則綁定起來。

 ● routing key(路由關鍵字):exchange根據這個關鍵字進行訊息投遞。

 ● vhost(虛擬主機):不同的vhost下,資料完全隔離,預設vhost為「/」

 ● channel(頻道):在一個tcp連線下,可建立多個channel,每個channel代表一個會話任務。

 ● producer(生產者)

 ● consumer(消費者)

RabbitMQ中Exchange#類似於一個路由器,我們的consumer 並不會把訊息直接投遞給佇列,而是投遞給exchangeexchange根據我們投遞時的路由鍵(routing key)再傳送到特定的佇列。這樣的設計讓訊息可以靈活選路,發送到某一類的隊列中,形成一對多的關係,而不僅僅是一對一。

Exchange

所以說RabbitMQ中的exchange很方便,很強大,它有這樣幾種類型:

 ● direct

 ● fanout

 ● topic

 ● headers(幾乎用不到)

direct #交換器很簡單,有時候我們只需要一個很簡單的佇列(訊息投遞到其中,然後不斷消費它),這時候我們就可以用direct

交換器,它的規則是:如果路由鍵匹配,訊息就會被投遞到對應的佇列。

什麼是RabbitMQ? RabbitMQ的簡單介紹

fanout交換器忽略路由鍵,把訊息同時

傳送到一批佇列。

什麼是RabbitMQ? RabbitMQ的簡單介紹

topic
則就是根據不同路由鍵,把訊息傳送到某一類別佇列中。

什麼是RabbitMQ? RabbitMQ的簡單介紹

相關影片教學推薦:《PHP教學

以上就是本篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以追蹤php中文網相關教學欄位! ! ! ###

以上是什麼是RabbitMQ? RabbitMQ的簡單介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除