AMOP
Server:Broker、RabbitMQ Server,實現 AMOP 實體服務,接受客戶端的連接
Conneciton:鏈接,應用程序與 Server 的網絡連接
Channel:網絡信道,進行消息讀寫的通道,客戶端可以建立多個 Channel,每個 Channel 就是一個會話
Message:消息,服務器和應用程序之間傳輸的數據,由 Properties 和 Body 組成。Properties 用於修飾消息,比如消息優先級、延遲等,Body 是消息體
Virtual host:虛擬地址,用於邏輯隔離,是最上層的路由。一個虛擬地址中可以有多個 Exchange 和 Queue,但不允許同名
Exchange:交換機,用於接收生產者的消息,根據 Routing key 轉發到 Queue
Queue:Message queue,消息隊列,保存消息並轉發給消費者,消費者監聽這個隊列達到接收消息的目的
Bingding:Exchange 和 Queue 之間的虛擬連接,可以包含多個 Routing key
消息流程
生產者把消息投遞到 RabbitMQ server,在投遞時需要指明是哪個 Exchange 和 Routing key,因為 Queue 和 Exchange 通過 Routing key 來建立規則,所以消息一經生產就能投遞到具體的隊列中,客戶端通過監聽具體的隊列從而獲得這個隊列的消息。(消息其實是先到 Server 再到 Virtual host 再到 Exchange 再到 Queue)