exchange
,exchange
確定也有存儲消息的地方Ack
回執:收到消息後確認消息已經消費的應答exchange
路由交換routeing key
路由鍵topic
主題一個生產者對應一個消費者node
三個角色git
Producer
Queue
consumer
工做隊列(又稱任務隊列)的主要思想是避免當即執行資源密集型任務,而不得不等待它完成。相反,咱們安排任務在之後完成。咱們將任務封裝 爲消息並將其發送到隊列。在後臺運行的工做進程將彈出任務並最終執行做業。當您運行許多工做人員時,任務將在他們之間共享。github
工做隊列 方式派發消息的方式的兩種方式異步
消息暫存在交換機,隊列拿着類型來找交換機要消息code
在pub/sub
的基礎上增長了 routeing key
,能夠選擇性的接收消息cdn
routeing key
字符#
(哈希)能夠替代零個或多個單詞。*
能夠代替一個單詞。exchange
類型必須是topic
中間件
RPC
遠程調用服務端的方法,使用
MQ
能夠實現
RPC
的異步調用,基於
Direct
交換機實現
RPC
請求隊列發送RPC
調用消息,同時監聽RPC
響應隊列RPC
請求隊列,收到消息後執行服務端的方法RPC
響應隊列noAck = true
自動確認模式 一旦 mq 將消息把消息分配給消費者,就會從內存中刪除,若是業務方拿到消息並無處理完,消息會丟失。noAck = false
若是消費者掛了,沒有發送回執,那麼這條消息就沒有被消費,會被其餘消費者接收。消費完成必須發送回執,告訴 MQ 已經消費完成,否則會被其餘消費者消費到MQ
是存在內存中的,若是它掛了,咱們的消息依然會丟失!! 可是!!RabbitMQ
能夠開啓持久化