rabbitMQ 簡介:
開源的訊息代理和佇列服務器,用來通過普通協議在完全不同的應用之間共享資料,
RabbitMq是使用Erlang語言來進行撰寫,并且RabbitMq基于AMQP協議,
RabbitMq高性能的原因:
Erlang語言最初是用于交換機領域的架構模式,這使得RabbitMQ在Broker之間進行資料互動的性能是非常優秀的,
Erlang語言的優點:Erlang有著和原生Socket一樣的延遲,
AMQP協議: Advanced Message Queuing Protocol 高級訊息佇列協議
AMQP定義:具有現代特征的二進制協議,是一個提供統一訊息服務的應用層標準高級訊息佇列協議,是應用層協議的一個開放標準,為面向訊息的中間件設計,

AMQP中名詞解釋:
- Server: 又稱Broker,接收客戶端的連接,實作AMQP物體服務
- Connection: 連接,應用程式跟Broker的連接
- channel: 網路信道,幾乎所有的操作都在channel中進行,channel是進行訊息讀寫的通道,客戶端可以建立多個channel,每個channel代表一個會話任務,
- Message: 訊息,服務器與應用程式之間傳遞的資料,由Properties和Body組成,Properties可以對訊息進行修飾,比如訊息的優先級,延遲等高級特性;Body訊息內容,
- Virtual host: 虛擬主機,用于進行邏輯隔離,最上層的訊息路由,一個Virtual host里面可以有若干個Exchange和Queue,同一個Virtual host里面不能有相同名稱的Exchange或Queue,
- Exchange: 交換機,接收訊息,根據路由鍵轉發訊息到系結的佇列,
- Bingding: Exchange和Queue之間的虛擬連接,bingding中可以包含路由key,
- Routing key: 一個路由規則,虛擬機可用它來確定如何路由一個特定的訊息,
- Queue: 也稱為Message Queue,訊息佇列,保存訊息并將它轉發給消費者,
下一篇:RabbitMQ 的安裝和啟動
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/258397.html
標籤:其他
