全部学科
Python全栈
python
NodeJS全栈
nodejs

消息确认机制基础专题测试

4 题 30 分钟 难度:★

考察知识点

  • 消息确认机制基本概念
  • RabbitMQ 消息确认实践
💡 参考答案在文末
判断题
1

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

A

B

单选题
2

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

A

消费者在订阅队列时设置 autoAck=true 即可启用自动确认模式

B

消息一旦被投递给消费者,Broker 会立即将该消息从队列中删除

C

自动确认模式下,如果消费者在处理消息过程中崩溃,消息不会丢失

D

自动确认模式适用于消息处理速度快且对消息丢失不敏感的场景

3

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

A

basicReject 可以批量拒绝多条消息,而 basicNack 只能拒绝单条消息

B

调用 basicNack(deliveryTag, false, true) 时,被拒绝的消息会重新入队

C

调用 basicReject(deliveryTag, false) 时,被拒绝的消息会重新入队

D

消息重新入队后,会优先投递给最初拒绝它的那个消费者

多选题
4

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

A

只需将队列声明为持久化(durable=true),消息就会自动持久化

B

消息持久化需要在发布消息时设置 deliveryMode=2(持久化模式)

C

队列持久化(durable=true)确保 RabbitMQ 重启后队列结构仍然存在

D

即使队列和消息都设置了持久化,消息仍可能在写入磁盘前因服务器宕机而丢失

参考答案
1.正确 2.C 3.B 4.B;C;D
想在手机上练习这套试卷?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一套试卷 消息序列化与格式专题测试
下一套试卷 → 消息路由与绑定专题测试
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码