RABBITMQ 中级技能认证测试
考察知识点
- 交换机类型详解(Direct、Fanout、Topic、Headers)
- 消息路由与绑定规则
- 死信队列与延迟队列原理及应用场景
- 消息可靠性保障(发布确认、事务机制、持久化等)
- 连接管理与 Channel 复用
- 消费者模式与并发处理
- 集群与高可用架构(镜像队列、Quorum 队列等)
- 消息序列化与格式处理
在RabbitMQ应用中,为每个消息发送都创建新的Connection和Channel是最简单的做法,且在生产环境中推荐使用这种方式。
Direct 交换机支持将同一个队列绑定到同一个路由键上,从而实现多个消费者共同处理同一类消息。
在 RabbitMQ 中,queueBind 方法用于建立队列与交换机之间的绑定关系,绑定关系中可以指定 routing_key 和可选的 arguments 参数。
在RabbitMQ中,消息的content_type属性是一个可选的元数据字段,不设置该属性不会影响消息的正常投递和消费。
RabbitMQ 启动后会自动创建一个名为 ""(空字符串)的默认交换机,生产者无需显式声明交换机即可直接发布消息到队列。
rabbitmq-delayed-message-exchange 是 RabbitMQ 官方内置的插件,无需额外安装即可直接使用。
在 RabbitMQ 消费端,当消费者处理消息抛出异常时,可以通过 basicNack 方法拒绝消息并设置 requeue=true 让消息重新入队重试。
RabbitMQ 原生支持消息去重功能,生产者可以通过设置消息的 message-id 属性让 Broker 自动过滤重复消息。
以下哪个场景最适合使用 Fanout 交换机?
关于 RabbitMQ 的两种集群架构模式,以下说法正确的是:
关于手动确认(manual acknowledgment),以下哪种做法是最佳实践?
关于 RabbitMQ 消费者预取数量(prefetch count),以下说法正确的是:
关于队列的多重绑定,以下哪些说法是正确的?
关于RabbitMQ Channel复用,以下哪些说法是正确的?
在RabbitMQ中引入多VHost架构,以下哪些是其主要目的?
关于 Publisher Confirm 机制的 ConfirmCallback 回调,以下哪些说法是正确的?
关于死信消息的 x-death header,以下说法正确的有哪些?
从 RabbitMQ 集群中移除一个节点时,leave_cluster 和 forget_cluster_node 的区别有哪些?
以下关于RabbitMQ消息JSON序列化的描述,哪些是正确的?
消息被转发到死信交换机时,默认使用的路由键是 ____________ 。如果希望自定义死信路由键,可以通过配置队列的 ____________ 参数来覆盖默认行为。
Topic 交换机绑定键 "order.#" 可以匹配路由键 "order" ( "#" 匹配 ____________ ),也可以匹配 "order.create.success" ( "#" 匹配 ____________ )。