全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📝 1 篇文章 4 道配套习题

消息确认机制基础专题

专题说明

本专题围绕 RabbitMQ 消息确认机制展开,通过 4 道精选题目帮助学习者理解消息确认的工作原理,掌握自动确认与手动确认的区别,以及如何处理消息拒绝和死信队列等场景。

学习目标

  1. 理解消息确认机制的设计目的与工作原理
  2. 掌握自动确认与手动确认的使用场景和配置方法
  3. 能够正确处理消息拒绝和配置死信队列

学习建议

入门阶段建议先理解核心概念,再动手实践。

📝 发现内容有误?点击此处直接编辑

📝 配套习题(4 题)

1
单选题

在 RabbitMQ 中,关于自动确认模式(Auto Acknowledge),下列说法错误的是:

A. 消费者在订阅队列时设置 autoAck=true 即可启用自动确认模式 B. 消息一旦被投递给消费者,Broker 会立即将该消息从队列中删除 C. 自动确认模式下,如果消费者在处理消息过程中崩溃,消息不会丢失 D. 自动确认模式适用于消息处理速度快且对消息丢失不敏感的场景

2
多选题

为了防止 RabbitMQ 服务重启后消息丢失,需要进行持久化配置。以下关于消息持久化的说法正确的有:

A. 只需将队列声明为持久化(durable=true),消息就会自动持久化 B. 消息持久化需要在发布消息时设置 deliveryMode=2(持久化模式) C. 队列持久化(durable=true)确保 RabbitMQ 重启后队列结构仍然存在 D. 即使队列和消息都设置了持久化,消息仍可能在写入磁盘前因服务器宕机而丢失

3
判断题

在手动确认模式下,消费者必须在处理完消息后显式调用 basicAck 方法向 Broker 发送确认,否则消息会一直保留在队列中等待重新投递。

A

B

4
单选题

当消费者无法处理某条消息时(如消息格式错误、业务逻辑校验失败),可以使用 basicNackbasicReject 拒绝消息。关于这两个方法,下列说法正确的是:

A. basicReject 可以批量拒绝多条消息,而 basicNack 只能拒绝单条消息 B. 调用 basicNack(deliveryTag, false, true) 时,被拒绝的消息会重新入队 C. 调用 basicReject(deliveryTag, false) 时,被拒绝的消息会重新入队 D. 消息重新入队后,会优先投递给最初拒绝它的那个消费者

← 上一个专题 消息序列化与格式专题
下一个专题 → 消息路由与绑定专题

📝 发现内容有误?点击此处直接编辑

想查看更多习题和详细解析?
小程序提供完整的题库和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库