Work Queues
Work Queues,也被称为(Task Queues
),任务模型,也是官网给出的第二个模型,使用的交换机类型是直连direct,也是默认的交换机类型。当消息处理比较耗时的时候,可能生产消息的速度会远远大于消息的消费速度。长此以往,消息就会堆积越来越多,无法及时处理。此时就可以使用work 模型:让多个消费者绑定到一个队列,共同消费队列中的消息。队列中的消息一旦消费,就会消失,因此任务是不会被重复执行的。
角色:
- P:生产者:任务的发布者
- C1:消费者-1,领取任务并且完成任务,假设完成速度较慢
- C2:消费者-2:领取任务并完成任务,假设完成速度快
此模型其实就是Hello Word的升级版,由多个消费者共同消费消息,提高效率。
这里使用的生产者和消费者都是一样的,区别是消费者同时运行了两个进程。
可以看到,消息被轮训均匀分配给了两个消费者。