rabbit MQ 常用模式
1.簡單模式
一個生產者,一個消費者,不需要設置交換機(使用默認的交換機)
2.工作隊列
一個生產者,多個消費者,不需要設置交換機(使用默認的交換機)
3.發佈訂閱模式
一個生產者,多個消費者,需要設置交換機的類型爲fanout,並且交換機和隊列進行綁定,當發發送消息到交換機後,交換機會將信息發送到綁定的隊列
4.路由模式
一個生產者,多個消費者,需要設置交換機的類型爲direct,並且交換機和隊列進行綁定,並且指定routing key 當發發送消息到交換機後,交換機會根據routing key將信息發送到綁定的隊列
5.速配符模式
一個生產者,多個消費者,需要設置交換機的類型爲topic,並且交換機和隊列進行綁定,並且指定routing key 當發發送消息到交換機後,交換機會根據routing key將信息發送到綁定的隊列
rabbit mq運行流程
簡單與工作對模式
生產者發送消息
1.生產者創建連接(connection),開啓一個信道/頻道(channel),連接到rabbitMQ Broker
2.聲明隊列並設置屬性,如是否排它,是否持久化,是否自動刪除
3.將路由鍵(空字符串)與隊列綁定起來
4.發送消息至rabbitMQ Broker
5.關閉信道/頻道
6.關閉連接
消費者接收消息
1.消費者創建連接(connection),並開啓一個信道/頻道(channel),連接到rabbitMQ Broker
2.向Broker請求消費相應隊列中的消息,設置相應的回調函數
3.等待Broker迴應閉關投遞相應隊列中的消息,消費者接受消息
4.確認(ack,自動確認)接收到的消息
5.rabbitMQ從隊列中刪除相應已經被確認的消息
6.關閉信道/頻道
7.關閉連接
發佈訂閱/路由/通配符模式
以下講的是關於路由的模式,其他兩個都相似,就是沒有一個路由key
生產者
1.生產者創建連接(connection),開啓一個信道/頻道(channel)
2.聲明交換機將交換機屬性設置爲direct
2.聲明隊列並設置屬性,如是否排它,是否持久化,是否自動刪除
3.將路由鍵與隊列綁定起來,並制定路由 key
4.發送消息前要制定basicPublish中交換機的名字,路由key
5.發送消息
5.關閉信道/頻道
6.關閉連接
消費者
1.生產者創建連接(connection),開啓一個信道/頻道(channel)
2.聲明交換機將交換機屬性設置爲direct
2.聲明隊列並設置屬性,如是否排它,是否持久化,是否自動刪除
3.隊列綁定交換機,並綁定路由key,不綁定路由key將拿不到信息
4.創建消費者並設置消息處理
5.監聽消息,basiccConsume要指定交換機的名字