分布式消息服务RabbitMQ

单一活跃消费者

2024-06-27 02:32:27

使用场景

在默认direct模式下, 多个消费者订阅一个queue,消息会轮流发送至每个消费者。单一消费者模式下,消息只由一个消费者消费,除非该改消费者出现异常。由此可以保证消息消费的有序性。

使用示例

以下为java客户端示例,通过在声明队列时配置x-single-active-consumer参数实现单一活跃消费者。

Map<String, Object> arguments = newHashMap<String, Object>();
arguments.put("x-single-active-consumer", true);
channel.queueDeclare("test_queue", false, false, false, arguments);


sc5ULkQnl8PF