一、簡單模式
概念:一個生產端對應一個消費端。生產端產生消息,然後將消息先發送給交換機,交換機將消息交給隊列,消費端監聽到之後,將消息從隊列中取出。
示例:1對1聊天
二、工作模式
概念:一個生產端多個消費端。生產端產生消息並將消息先交由交換機,交換機放入隊列,多個消費端進行爭搶,誰搶到,消息便是誰的。
示例:搶票
三、訂閱模式
概念:一個生產端多個消費端。生產端產生消息,然後將消息發送給交換機,交換機給每一個隊列都發送消息,最終多個消費端都會得到消息。
示例:羣聊
四、路由模式
概念:一個生產端多個消費端。生產端產生消息併發送給交換機,交換機將消息發送給對應的隊列(根據對應的信息),一個隊列對應一個消費端。核心概念是,將一份數據發送給指定的消費端。
示例:項目中的error報錯
五、主題模式
概念:一個生產端多個消費端。特殊的路由模式。生產端產生消息併發送給交換機,交換機將消息發送給對應的隊列(根據 * 等特殊符號),指定對應的隊列,最後每個隊列所對應的消費端得到數據。
示例:羣發
六、RPC模式
概念:一個生產端一個消費端。跟其餘五種的區別:RPC模式的生產端將消息發出後,需要收到消息端的回覆。
運行原理:生產端產生消息後,消息上面攜帶有對應的消息端的隊列,還有消費端收到消息後所要返回數據需要使用的隊列。這樣便能使消費端發送回覆給生產端的時候,生產端知道監聽哪個隊列。
示例:QQ聊天