RabbitMQ----理論篇

1、初始RabbitMQ

RabbitMQ是一個開源的消息代理和隊列服務器,用來通過普通協議在完全不同的應用之間共享數據,RabbitMQ是使用Erlang語言編寫的,並且RabbitMQ是基於AMQP協議的。

2、AMQP(高級消息隊列協議)

AMQP是具有現代特徵的二進制協議。是一個提供統一消息服務的應用層標準高級消息隊列協議,是應用層協議的一個開放標準,爲面向消息的中間件設計。

3、AMQP協議模型

在這裏插入圖片描述

4、AMQP核心概念

  • server:又成Broker,接收客戶端的連接,實現AMQP實體服務
  • Channel:網絡通道,幾乎所有的操作都在Channel中進行,Channel是進行消息讀寫的通道。客戶端可建立多個Channel,每個Channel代表一個會話任務。
  • Message:消息,服務器和應用程序之間傳送的數據,由Properties和Body組成。Properties可以對消息進行修飾,比如消息的優先級、延遲等高級特性;Body則就是消息體內容。
  • Virtual host:虛擬地址,用於進行邏輯隔離,最上層的消息路由。一個Virtual Host裏面可以有若干個Exchange和Queue,同一個Virtual Host裏面不能有相同名稱的Exchange和Queue。
  • Exchange:交換機,接收消息,根據路由鍵轉發消息到綁定的隊列。
  • Binding:Exchange和Queue之間的虛擬連接,binding中可以包含routing key。
  • Routing Key:一個路由規則,虛擬機可用它來確定如何路由一個特定消息。
  • Queue:也稱爲Message Queue,消息隊列,保存消息並將它們轉發給消費者。

5、RabbitMQ整體架構如下:

在這裏插入圖片描述

6、RabbitMQ消息是如何流架構圖

在這裏插入圖片描述

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