簡書:亞武de小文 【原創(chuàng):轉(zhuǎn)載請(qǐng)注明出處】
工作隊(duì)列模式(Work queues)

LengToo上學(xué).png
RabbitMQ有以下幾種工作模式 :
- Work queues
- Publish/Subscribe
- Routing
- Topic
- Headers
- RPC
Work queues
模型圖

[亞武de小文]工作隊(duì)列模型圖.png
- 說明:
Producer:生產(chǎn)者
Consumer01:消費(fèi)者01
Consumer02:消費(fèi)者02
Queue:消息隊(duì)列
應(yīng)用場(chǎng)景
- 對(duì)于 任務(wù)過重或任務(wù)較多情況使用工作隊(duì)列可以提高任務(wù)處理的速度。
工作流程與測(cè)試
說明:
work queues與生產(chǎn)者與消費(fèi)者程序相比,多了一個(gè)消費(fèi)端,兩個(gè)消費(fèi)端共同消費(fèi)同一個(gè)隊(duì)列中的消息。-
測(cè)試:
1、使用程序,啟動(dòng)多個(gè)消費(fèi)者。
啟動(dòng)多個(gè)消費(fèi)者.png
2、生產(chǎn)者發(fā)送多個(gè)消息。

生產(chǎn)者發(fā)送信息.png
-
結(jié)果:
1、一條消息只會(huì)被一個(gè)消費(fèi)者接收,如下圖;
發(fā)布信息.png
消費(fèi)者接收消息.png
消費(fèi)者01接收消息.png
2、rabbit采用輪詢的方式將消息是平均發(fā)送給消費(fèi)者的;
3、消費(fèi)者在處理完某條消息后,才會(huì)收到下一條消息。
【多人協(xié)作干活】
代碼
【參考生產(chǎn)者與消費(fèi)者模型代碼】



