一架梯子,一头程序猿,仰望星空!
RabbitMQ教程 > 内容正文

RabbitMQ工作模式 - 工作队列(Work模式)


RabbitMQ工作队列(Work模式),一个生产者,多个消费者,每条消息只能被一个消费者消费,支持并发消费消息。

提示:Work模式,相对于简单队列来说就是支持并发消费消息,但是一条消息只能被一个消费者处理,因此Work模式也是一对一消费模式。

架构图

Work模式
说明:
P 代表生产者 , C1、C2 代表消费者,红色代表队列。

应用场景

单一业务,一对一并发处理,例如:群发邮件,需要发送1000封邮件,可以开启100个消费者,一次并发发送100封邮件。

提示:在多个消费者并发消费同一个队列的消息的情况下,无法保证消息的严格顺序,例如:队列中有10条消息,有10个消费者并发处理10个消息,有些消费者执行快、有些执行慢点,这个时候会出现消息处理的顺序,跟队列中消息的顺序不一致,可能后面的消息先执行成功,前面的消息还在处理中,如果你的业务对消息的顺序有严格要求,可以控制每个队列只有一个消费者,这样就可以保证严格消息处理顺序,代价就是并发能力下降。


推荐教程