RabbitMQ基礎概念
AMQP
即Advanced Message Queuing Protocol,高級消息隊列協議,是應用層協議的一個開放標準,爲面向消息的中間件。消息中間件主要用於組件之間的解耦和通訊。
AMQP的主要特徵是面向消息,隊列,路由(包括點對點和發佈/訂閱),可靠性,安全。
RabbitMQ是一個開源的AMQP實現,服務器端使用Erlang語言編寫。用於在分佈式系統中存儲賺發消息,具有很高的易用性和可使用性。
ConnectionFactory
ConnectionFactory爲Connection的製造工廠
Connection
Connection是RabbitMQ的socket連接,他封裝了socket協議相關部分邏輯
Channel(信道)
信道是建立在“真實的”TCP連接上的虛擬連接,在一條TCP連接上創建多少條信道是沒有限制的,把他想象成光纖就可以了。它是我們與RabbitMQ打交道的最重要的一個接口,我們大部分的業務操作是在Channel這個接口中完成的,包括定義Queue,定義Exchange,綁定Queue和Exchange,發佈消息等。
Queue
Queue是RabbitMQ的內部對象,用於存儲消息。
RabbitMQ的消息只能存儲在Queue中。生產者可以從Queue中獲取消息並消費,消費者可以是一個或者多個。