環境:Spring Boot2.3.10 + RabbitMQ 3.8.12 + Erlang 23.2.5
1.1 RabbitMQ介紹
RabbitMQ是實現了高級消息隊列協議(AMQP)的開源消息代理軟件(亦稱面向消息的中間件)。RabbitMQ服務器是用Erlang語言編寫的。所有主要的編程語言均有與代理接口通訊的客戶端庫。1.2 RabbitMQ核心概念
Server:又稱Broker, 接受客戶端的連接,實現AMQP實體服務,這里指RabbitMQ 服務器Connection:連接,應用程序與Broker的網絡連接。
Channel:通信通道,幾乎所有的操作都在 Channel 中進行,Channel是進行消息讀寫的通道。客戶端可建立多個Channel:,每個Channel代表一個會話任務。(一個Socket連接可以創建多個Channel)
Virtual Host:虛擬主機,用于邏輯隔離,是最上層的消息路由。一個 Virtual Host 里面可以有若干個 Exchange(交換機)和 Queue(隊列)。
Binding:Exchange 和 Queue 之間的虛擬綁定關系。
Routing key:一 個路由規則,虛擬機可用它來確定如何路由一個特定消息,即交換機綁定到 Queue 的鍵。支持模式匹配,* 和#,*用來匹配一個單詞,#用來匹配多個單詞(可以是0個)這里的通配符只有在exchange的類型為topic才有效。
Queue:也稱為Message Queue,消息隊列,保存消息并將它們轉發給消費者。(接收端通過監聽Queue來接受消息)。
Message:消息,服務器和應用程序之間傳送的數據,由 Properties 和 Body 組成。Properties 可以對消息進行修飾,比如消息的優先級、延遲,過期時間,消息大小等高級特性;,Body 則就 是消息體內容。
Exchange類型:如下四種類型:fanout,headers,direct,topic。






