消息确认机制基础专题测试
考察知识点
- 消息确认机制基本概念
- RabbitMQ 消息确认实践
在 RabbitMQ 中,关于自动确认模式(Auto Acknowledge),下列说法错误的是:
A. 消费者在订阅队列时设置 autoAck=true 即可启用自动确认模式
B. 消息一旦被投递给消费者,Broker 会立即将该消息从队列中删除
C. 自动确认模式下,如果消费者在处理消息过程中崩溃,消息不会丢失
D. 自动确认模式适用于消息处理速度快且对消息丢失不敏感的场景
为了防止 RabbitMQ 服务重启后消息丢失,需要进行持久化配置。以下关于消息持久化的说法正确的有:
A. 只需将队列声明为持久化(durable=true),消息就会自动持久化
B. 消息持久化需要在发布消息时设置 deliveryMode=2(持久化模式)
C. 队列持久化(durable=true)确保 RabbitMQ 重启后队列结构仍然存在
D. 即使队列和消息都设置了持久化,消息仍可能在写入磁盘前因服务器宕机而丢失
在手动确认模式下,消费者必须在处理完消息后显式调用 basicAck 方法向 Broker 发送确认,否则消息会一直保留在队列中等待重新投递。
当消费者无法处理某条消息时(如消息格式错误、业务逻辑校验失败),可以使用 basicNack 或 basicReject 拒绝消息。关于这两个方法,下列说法正确的是:
A. basicReject 可以批量拒绝多条消息,而 basicNack 只能拒绝单条消息
B. 调用 basicNack(deliveryTag, false, true) 时,被拒绝的消息会重新入队
C. 调用 basicReject(deliveryTag, false) 时,被拒绝的消息会重新入队
D. 消息重新入队后,会优先投递给最初拒绝它的那个消费者
📝 发现内容有误?点击此处直接编辑
长按或扫描二维码,立即体验