RABBITMQ 中级技能认证测试
考察知识点
- 交换机类型详解(Direct、Fanout、Topic、Headers)
- 消息路由与绑定规则
- 死信队列与延迟队列原理及应用场景
- 消息可靠性保障(发布确认、事务机制、持久化等)
- 连接管理与 Channel 复用
- 消费者模式与并发处理
- 集群与高可用架构(镜像队列、Quorum 队列等)
- 消息序列化与格式处理
RabbitMQ 启动后会自动创建一个名为 ""(空字符串)的默认交换机,生产者无需显式声明交换机即可直接发布消息到队列。
Direct 交换机支持将同一个队列绑定到同一个路由键上,从而实现多个消费者共同处理同一类消息。
以下哪个场景最适合使用 Fanout 交换机?
在 RabbitMQ 中,queueBind 方法用于建立队列与交换机之间的绑定关系,绑定关系中可以指定 routing_key 和可选的 arguments 参数。
Topic 交换机绑定键 "order.#" 可以匹配路由键 "order" ( "#" 匹配 ________ ),也可以匹配 "order.create.success" ( "#" 匹配 ________ )。
关于队列的多重绑定,以下哪些说法是正确的?
rabbitmq-delayed-message-exchange 是 RabbitMQ 官方内置的插件,无需额外安装即可直接使用。
关于死信消息的 x-death header,以下说法正确的有哪些?
A. x-death 是一个列表类型,记录消息每次进入死信队列的信息
B. x-death 中的 reason 字段取值为 rejected、expired 或 maxlen
C. x-death 中的 queue 字段记录消息从哪个队列被转发为死信
D. 消息多次进入死信队列时,x-death 列表只保留最后一次记录
消息被转发到死信交换机时,默认使用的路由键是 __________ 。如果希望自定义死信路由键,可以通过配置队列的 ________________________ 参数来覆盖默认行为。
在 RabbitMQ 消费端,当消费者处理消息抛出异常时,可以通过 basicNack 方法拒绝消息并设置 requeue=true 让消息重新入队重试。
关于 Publisher Confirm 机制的 ConfirmCallback 回调,以下哪些说法是正确的?
RabbitMQ 原生支持消息去重功能,生产者可以通过设置消息的 message-id 属性让 Broker 自动过滤重复消息。
在RabbitMQ应用中,为每个消息发送都创建新的Connection和Channel是最简单的做法,且在生产环境中推荐使用这种方式。
关于RabbitMQ Channel复用,以下哪些说法是正确的?
在RabbitMQ中引入多VHost架构,以下哪些是其主要目的?
关于 RabbitMQ 消费者预取数量(prefetch count),以下说法正确的是:
A. basicQos(10) 表示消费者每次最多同时处理 10 条消息,未确认消息达到 10 条时不再投递新消息
B. basicQos(10) 表示消费者每秒最多消费 10 条消息
C. basicQos(10) 表示队列中最多保留 10 条未消费的消息
D. basicQos(10) 表示消费者每次 basicGet 批量拉取 10 条消息
关于手动确认(manual acknowledgment),以下哪种做法是最佳实践?
A. 在消息回调函数入口处立即调用 basicAck 确认消息
B. 在业务逻辑执行成功后(如数据库更新完成)调用 basicAck
C. 在消费者启动时预先确认所有收到的消息
D. 在消费者关闭时批量确认所有未确认的消息
关于 RabbitMQ 的两种集群架构模式,以下说法正确的是:
A. 普通集群模式下,队列内容和消息数据在所有节点间完整同步 B. 镜像集群模式下,队列内容和消息数据在所有镜像节点间完整复制 C. 普通集群模式下,消费者连接到任意节点都可以消费任意队列的消息,因为消息数据在该节点本地 D. 镜像集群的性能高于普通集群,因为数据复制带来了更好的读写速度
从 RabbitMQ 集群中移除一个节点时,leave_cluster 和 forget_cluster_node 的区别有哪些?
A. leave_cluster 在目标节点上执行,节点主动退出集群
B. forget_cluster_node 在集群的其他节点上执行,从集群中强制移除目标节点
C. leave_cluster 会保留节点上的队列数据
D. forget_cluster_node 会强制从集群元数据中删除该节点,即使该节点已宕机
在RabbitMQ中,消息的content_type属性是一个可选的元数据字段,不设置该属性不会影响消息的正常投递和消费。
以下关于RabbitMQ消息JSON序列化的描述,哪些是正确的?
📝 发现内容有误?点击此处直接编辑
长按或扫描二维码,立即体验