RabbitMQ系列教程(二)RabbitMQ中一些重要概念

RabbitMQ簡介

RabbitMQ是用Erlang編寫的一個開源消息代理和隊列服務器,可以通過協議在不同的應用程序之間共享數據。

一些重要的概念

server

也叫broker,它提供一種傳輸服務,它的角色就是維護一條從生產者到消費者的路線,保證數據能按照指定的方式進行傳輸。

Connection

應用程序與broker的網絡鏈接

Channel(網絡信道)

Channel是進行消息讀寫的通道,幾乎所有的操作都在Channel中進行,客戶端可以建立多個Channel,每個Channel代表一個會話任務

Message(消息)

生產者和消費者之間傳送的數據。由Properties和Body組成,其中Properties可以對消息進行修飾,比如可以設置消息的優先級、過期時間延遲等特性。

Exchange(交換機)

用於指定消息按什麼規則,路由到哪個隊列。rabbitmq中有四種類型的exchange:direct、topic、fanout、header。

Routing Key(路由關鍵字)

Exchange根據Routing Key進行消息投遞

Queue(消息隊列)

消息的載體,每個消息都會被投到一個或多個隊列

Binding(綁定)

它的作用就是把exchange和queue按照路由規則綁定起來,

Virtual Host (虛擬主機)

用於進行邏輯隔離,一個 Virtual Host可以有多個Exchange和Queue。
PS:可以簡單理解爲就像java中的包名,用於邏輯區分。

RabbitMQ消息流轉圖

通過下面這張圖,能更好的理解上面的概念
在這裏插入圖片描述

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