RABBITMQ 初级技能认证测试
考察知识点
- RabbitMQ 架构概述与安装配置
- 消息队列基础概念(生产者、消费者、队列、交换机等)
- 核心概念入门(AMQP 协议、虚拟主机、消息模型等)
- 工作队列模式(轮询分发、公平分发等)
- 消息发送与接收基础流程
- 消息确认机制基础(ACK 机制)
RabbitMQ 是基于 AMQP(Advanced Message Queuing Protocol)协议实现的消息中间件。
在 RabbitMQ 架构中,负责将消息从生产者路由到队列的核心组件是以下哪一个?
A. Exchange(交换机) B. Connection(连接) C. Channel(信道) D. Virtual Host(虚拟主机)
以下关于 RabbitMQ 与 Erlang 版本兼容性的说法,正确的是哪一项?
A. RabbitMQ 与 Erlang 版本完全独立,可以随意组合 B. 只需关注 Erlang 的大版本号,小版本号无需关心 C. 应参照 RabbitMQ 官方发布的 Erlang 兼容性矩阵选择匹配的 Erlang 版本 D. Erlang 版本越高,RabbitMQ 的性能一定越好
在 Windows 系统上本地安装 RabbitMQ 时,只需安装 RabbitMQ Server,无需单独安装 Erlang/OTP,因为安装包里已经包含了 Erlang 运行时。
RabbitMQ 中的队列(Queue)遵循 FIFO(先进先出)原则,即先发送到队列的消息会先被消费者接收。
RabbitMQ 中,交换机与队列之间的绑定关系可以在代码中通过编程方式动态创建,也可以在管理界面中手动配置。
RabbitMQ 中,交换机接收生产者发送的消息后,会根据路由规则和绑定关系将消息转发到对应的队列;如果消息无法路由到任何队列,默认情况下该消息会被丢弃。
在 RabbitMQ 中,生产者发送消息时指定的路由键(Routing Key)最大长度限制是多少?如果路由键超过该限制会发生什么?
A. 128 字节,超过限制的消息被丢弃 B. 255 字节,超过限制的发送操作会抛出异常 C. 512 字节,超过限制的路由键会被自动截断 D. 没有长度限制,可以任意指定
在 RabbitMQ 中,以下关于默认虚拟主机(/)的说法,正确的是:
A. / 是系统自动创建的唯一 VHost,所有未指定 VHost 的连接都会路由到它
B. / 只是一个普通 VHost,可以像其他 VHost 一样被删除或重命名
C. RabbitMQ 启动时会自动创建 / VHost,但如果用户创建了其他 VHost 并配置了默认连接,可以不再使用 /
D. / VHost 拥有特殊的权限,所有其他 VHost 的用户都必须通过它进行认证
消息队列(Message Queue)是一种在分布式系统中用于实现异步通信的中间件,它允许生产者发送消息后无需等待消费者处理即可继续执行。
在电商订单系统中,用户下单后需要依次调用库存、支付、物流、积分等多个服务,使用消息队列可以将这些操作解耦,避免服务间的强依赖。
在消息队列的交互流程中,生产者发送消息到队列后,消息的流转顺序正确的是?
Kafka的设计目标是高吞吐量的日志收集与流处理场景,而RabbitMQ更侧重于消息的可靠投递和复杂的路由功能。
在 RabbitMQ 的工作队列模式中,多个消费者可以同时连接到同一个队列,共同消费队列中的消息,且每条消息只会被其中一个消费者处理。
在 RabbitMQ 工作队列模式中,如果消费者处理消息需要较长时间(如模拟耗时任务),以下关于消息确认(acknowledgment)的描述正确的是:
A. 消息一经投递就自动确认,与处理时间无关 B. 消费者必须在处理完成后手动发送确认,否则消息会重新入队 C. 处理耗时任务时,消息会一直保留在队列中直到消费者确认 D. 耗时任务的确认超时时间由 RabbitMQ 服务器自动设定,消费者无法控制
在工作队列模式中,预取值(prefetch count)用于实现公平分发机制。如果将预取值设置为 5,以下描述正确的是:
A. 每个消费者最多只能接收 5 条消息,之后不再接收任何消息 B. 每个消费者最多只能有 5 条未确认的消息,确认一条后才能再接收新消息 C. 队列中最多只能有 5 条消息等待分发,其余消息会被暂存 D. 每个消费者一次只能批量接收 5 条消息,必须一次性确认
在RabbitMQ中,生产者发送消息到指定交换机时,首先需要建立的底层连接对象是什么?
使用RabbitMQ Java客户端创建连接时,以下关于虚拟主机(Virtual Host)的描述错误的是?
在RabbitMQ中,消费者调用channel.basicConsume()方法后,会立即阻塞当前线程并等待消息到达。
在 RabbitMQ 中,关于自动确认模式(Auto Acknowledge),下列说法错误的是:
A. 消费者在订阅队列时设置 autoAck=true 即可启用自动确认模式
B. 消息一旦被投递给消费者,Broker 会立即将该消息从队列中删除
C. 自动确认模式下,如果消费者在处理消息过程中崩溃,消息不会丢失
D. 自动确认模式适用于消息处理速度快且对消息丢失不敏感的场景
在手动确认模式下,消费者必须在处理完消息后显式调用 basicAck 方法向 Broker 发送确认,否则消息会一直保留在队列中等待重新投递。
📝 发现内容有误?点击此处直接编辑
长按或扫描二维码,立即体验