简书:亚武de小文 【原创:转载请注明出处】
工作队列模式(Work queues)

RabbitMQ有以下几种工作模式 :
- Work queues
- Publish/Subscribe
- Routing
- Topic
- Headers
- RPC
Work queues
模型图

- 说明:
Producer:生产者
Consumer01:消费者01
Consumer02:消费者02
Queue:消息队列
应用场景
- 对于 任务过重或任务较多情况使用工作队列可以提高任务处理的速度。
工作流程与测试
-
说明:
work queues与生产者与消费者程序相比,多了一个消费端,两个消费端共同消费同一个队列中的消息。
-
测试:
1、使用程序,启动多个消费者。
启动多个消费者.png
2、生产者发送多个消息。

-
结果:
1、一条消息只会被一个消费者接收,如下图;
发布信息.png
消费者接收消息.png
消费者01接收消息.png
2、rabbit采用轮询
的方式将消息是平均发送给消费者的;
3、消费者在处理完某条消息后,才会收到下一条消息。
【多人协作干活】
代码
【参考生产者与消费者模型代码】
网友评论