• RabbitMQ是一個消息中間件,是一個很好用的消息隊列框架。框架
• ConnectionFactory、Connection、Channel都是RabbitMQ對外提供的API中最基本的對象。Connection是RabbitMQ的socket連接,它封裝了socket協議相關部分邏輯。ConnectionFactory爲Connection的製造工廠。socket
• Channel是咱們與RabbitMQ打交道的最重要的一個接口,咱們大部分的業務操做是在Channel這個接口中完成的,包括定義Queue、定義Exchange、綁定Queue與Exchange、發佈消息等。一個connection能夠建立多個channel也就是信道,這些信道相互不影響,就像是一條光纜和一根光纖的關係;spa
• Queue : 存放消息的隊列,先入先出,關注隊列的消費者從隊列中取出消息消費,若是多個消費者同時訂閱同一個隊列,那麼消息會平均分配到多個消費者中間件
• Message acknowledgment(消息確認)對象
• 爲了不消費者收到Queue中的消息,但沒有處理完成就宕機(或出現其餘意外)的狀況,這種狀況下就可能會致使消息丟失狀況發生,能夠要求消費者在消費完消息後發送一個回執給RabbitMQ,RabbitMQ收到消息回執(Message acknowledgment)後纔將該消息從Queue中移除;若是RabbitMQ沒有收到回執並檢測到消費者的RabbitMQ鏈接斷開,則RabbitMQ會將該消息發送給其餘消費者(若是存在多個消費者)進行處理。這裏不存在timeout概念,一個消費者處理消息時間再長也不會致使該消息被髮送給其餘消費者,除非它的RabbitMQ鏈接斷開。接口
• 隊列
參考連接 :消息隊列
https://mp.weixin.qq.com/s/nWdgS821qR-GhJTPllJkEQit
來源 :JAVA爛豬皮io
https://mp.weixin.qq.com/s/nWdgS821qR-GhJTPllJkEQhttps://mp.weixin.qq.com/s/nWdgS821qR-GhJTPllJkEQ