简单队列(Simple Queue)
简单队列也被称为工作队列模式(Work Queue),它是 RabbitMQ 默认的队列模式。在此模式下,一个生产者将消息发送到队列,一个消费者从队列中获取消息,并处理消息。当有多个消费者时,RabbitMQ 会尽量平均分配任务,但是无法保证完全平均分配。此模式下可能会产生消息积压,并且消费者可能会重复接收和处理消息。
发布/订阅模式(Publish/Subscribe)
发布/订阅模式,也称为消息广播模式(Message Broadcast)或广播模式(Broadcast),它将消息发布到交换机(Exchange)上,由所有绑定到该交换机的队列收到并处理消息。不同于简单队列模式的是,此模式下同一消息可以被多个消费者同时接收和处理。
路由模式(Routing)
路由模式也称为直连模式(Direct),是一种有选择的消息队列模式。在此模式下,消息被发送到一个名为 Direct Exchange 的交换机上并根据配置的相关绑定规则路由到对应的队列中。不同于发布/订阅模式,此模式下支持消息多路由到多个队列,并支持队列间分布式消费。
主题模式(Topic)
主题模式,也称为通配符模式(Wildcards),是一种有选择的消息队列模式。在主题模式中,消息被发送到主题交换机(Topic Exchange),可以使用多个通配符和绑定规则来匹配多个队列。可以根据不同的业务需求来实现精细的消息路由。
广播模式(Fanout)
Fanout 模式是 RabbitMQ 的一种消息队列模式,它也被称为广播模式(Broadcast)。在此模式下,一个生产者将消息发送到 Exchange(交换机)上,Exchange 再将消息广播给所有绑定到它上面的队列。这种模式下没有 Routing Key 的概念,因此消息会被平均转发到所有被绑定的队列中。
Work模式 (Work)
RabbitMQ 的 Work 模式也叫做任务队列模式(Task Queues),它是 RabbitMQ 中最简单的一种消息队列模式之一。在 Work 模式中,一个生产者会将消息发送到一个工作队列(work queue)中,多个消费者会从该队列中获取消息并进行处理。