死信队列与延迟队列专题测试
考察知识点
- 死信队列与延迟队列相关概念
- RabbitMQ 进阶实践
已经声明的队列可以通过 queueDeclare 方法重新调用并修改 x-dead-letter-exchange 参数来动态更新死信配置。
rabbitmq-delayed-message-exchange 是 RabbitMQ 官方内置的插件,无需额外安装即可直接使用。
死信交换机(DLX)必须是 direct 类型的交换机,不能使用 fanout 或 topic 类型。
在 Java 客户端中,以下哪种代码能正确配置队列的死信交换机?
使用延迟队列插件发送延迟消息时,以下哪个代码片段能正确设置消息延迟 30 秒?
关于 RabbitMQ 的 TTL(Time-To-Live)机制,以下说法正确的是:
当发现死信队列中积累了大量消息时,以下处理流程最合理的是:
关于死信交换机(DLX),以下说法正确的是:
在实现死信消息补偿处理时,以下哪种做法能有效避免消息被重复补偿导致的数据不一致?
使用 rabbitmq-delayed-message-exchange 插件时,声明延迟交换机需要设置的 x-delayed-type 参数值应该是什么?
关于死信消息的 x-death header,以下说法正确的有哪些?
以下哪些场景会导致消息成为死信(Dead Letter)?
一个完整的死信队列配置通常需要声明哪些组件?
对比 rabbitmq-delayed-message-exchange 插件方案与传统 TTL+DLX 方案实现延迟队列,以下说法正确的有哪些?
关于 RabbitMQ 中 TTL 消息的过期行为,以下说法正确的有哪些?
使用 TTL + DLX 模式实现延迟队列时,以下说法正确的有哪些?
消息被转发到死信交换机时,默认使用的路由键是 ____________ 。如果希望自定义死信路由键,可以通过配置队列的 ____________ 参数来覆盖默认行为。
在 Spring AMQP 中,通过 QueueBuilder 配置死信队列的代码模板为:QueueBuilder.durable("businessQueue").withArgument("x-dead-letter-exchange", ____________).withArgument("x-dead-letter-routing-key", ____________).build() 。
监控死信队列的两种常用方式是:通过 RabbitMQ 管理界面的 ____________ 查看队列消息堆积情况,以及通过 ____________ 编程化获取队列指标。当需要对死信消息进行补偿处理时,通常采用消费死信队列消息并 ____________ 的方式实现。
在 Java 客户端中设置消息级 TTL 的代码为:AMQP.BasicProperties props = new AMQP.BasicProperties.Builder().____________("____________").build(); 表示该消息将在 ____________ 后过期。