Rabbitmq 對象
一、為什么使用消息隊列?
應(yīng)用解耦、彈性伸縮、冗余存儲、流量削峰、異步通信、數(shù)據(jù)同步、定時任務(wù)
官網(wǎng):https://www.rabbitmq.com/getstarted.html
二、Rabbitmq的對象:

Server:又稱Broker,接收客戶端的連接,實(shí)現(xiàn)AMQP實(shí)體服務(wù);
Conncetion:RabbitMQ的socket連接,它封裝了socket協(xié)議相關(guān)部分邏輯;
ConncetionFactory:Connection的制造工廠;
Channel:網(wǎng)絡(luò)通道,幾乎所有操作都在Channel中進(jìn)行,是進(jìn)行讀寫的通道,客戶端可建立多個Channel,每個Channel代表一個會話任務(wù);
為什么要建立多個Channel?
因為一些應(yīng)用程序需要多個連接到服務(wù)器,如果每次連接都要建立TCP連接,那樣不但浪費(fèi)資源,而且使得防火墻的配置變得十分困難。AMQP使用通道來實(shí)現(xiàn)多路傳輸,通道可以被認(rèn)為是共享一個TCP連接的輕量級連接;
客戶端進(jìn)行的每個協(xié)議操作都發(fā)送在一個通道上,每個通道的通信都是相互隔離,因此每個協(xié)議方法都攜帶一個通道ID,它是一個整數(shù),被服務(wù)器和客戶端用來區(qū)分方法該用于哪個通道;當(dāng)一個連接被關(guān)閉時,它所屬的所有通道都會被關(guān)閉;
PS:Queue與Exchange的聲明和綁定,都是在Channels中進(jìn)行的;
Message:消息,服務(wù)器與應(yīng)用程序之間傳遞的數(shù)據(jù),由Properties和Body組成, Properties可以對消息進(jìn)行修飾,如消息的優(yōu)先級、傳輸格式(如JSON)、延遲等高級特性,Body則就是消息體內(nèi)容;Message的詳解
Virtual Host:虛擬地址,用于進(jìn)行邏輯隔離,最上層的消息路由,一個 Virtual Host里面可以有若干個Exchange和Queue,同一個Virtual Host里面不能有相同名稱的Exchange或Queue;Virtual Host作用及角色權(quán)限
Exchange:交換機(jī),接收消息,根據(jù)路由鍵轉(zhuǎn)發(fā)消息到綁定的隊列;
Queue:也稱為Message Queue隊列,保存消息并將它們轉(zhuǎn)發(fā)給消費(fèi)者;
Routing Key:路由規(guī)則,虛擬機(jī)可以用來確認(rèn)路由到哪個隊列;
Bingding:Exchange和Queue之間的虛擬連接;
Producer:生產(chǎn)者;
Consumer:消費(fèi)者

浙公網(wǎng)安備 33010602011771號