源码分析与扩展专题测试
考察知识点
- 源码分析与扩展相关概念与原理
- RabbitMQ 专家级实践
RabbitMQ Server 的核心进程模型中,每个虚拟主机(vhost)都运行在独立的 BEAM 虚拟机实例中,彼此之间完全隔离。
在 RabbitMQ 源码中,负责消息持久化到磁盘的核心模块是以下哪一个?
以下关于 RabbitMQ 核心模块依赖关系的描述,哪些是正确的?
RabbitMQ Server 在启动时,会按照 OTP 规范构建 supervision tree。其中,顶层的 application 名称为 ______,其核心 supervision tree 由 __________ 模块管理;负责监听 TCP 连接并接受客户端请求的模块是 ___________________。
在 RabbitMQ 源码中,关于交换机(Exchange)的实现机制,以下哪些描述是正确的?
在 RabbitMQ 源码实现中,每个队列(Queue)在运行时都对应一个独立的 Erlang 轻量级进程(Process),该进程负责管理队列的所有操作。
在 RabbitMQ 中,一条消息从发布者(Publisher)发送到消费者(Consumer)接收,以下哪一个是正确的消息处理链路顺序?
关于 RabbitMQ 消息在 Exchange 路由阶段的源码执行逻辑,以下哪些描述是正确的?
在 RabbitMQ 的源码中,消息通过 Channel 发送时,客户端发送的 AMQP 协议帧首先被 ____________ 模块解析,然后通过 ________________________ 组装成完整的 AMQP 命令,最终由 Channel 进程调用 _____________ 方法将消息投递到 Exchange。
关于 RabbitMQ 消息进入 Queue 后的存储与分发源码逻辑,以下哪些描述是正确的?
在 RabbitMQ 源码中,当消费者对消息发送 ack 确认后,队列进程会立即将消息从内存和磁盘中删除,并释放相关的消息索引引用。
开发 RabbitMQ 插件时,以下哪种方式是标准的插件扩展方法?
RabbitMQ 插件开发中,以下哪些是官方支持的扩展点(Extension Points)?
开发 RabbitMQ 插件时,标准的项目结构中包含一个 ________ 文件用于定义插件的元数据和依赖;插件的主模块通常实现 _______________ 注册接口,并通过 ______ 机制在 RabbitMQ 生命周期的特定阶段注入自定义逻辑。
RabbitMQ 插件开发可以使用 Java 语言编写,通过 JVM 运行时动态加载到 RabbitMQ Server 中运行。
在 RabbitMQ 插件开发中,关于钩子(Hook)机制的描述,以下哪些是正确的?
在排查 RabbitMQ 节点内存异常增长时,以下哪个工具或方法最适合用于分析 Erlang 进程的内存分布?
以下哪些 RabbitMQ 诊断命令或指标可以用于分析集群的性能瓶颈?
在 RabbitMQ 中排查消息处理延迟问题时,可以启用 ________________ 插件进行消息级别的跟踪;如果需要分析 Erlang 进程调度延迟,可以使用 ______ 库中的 scheduler_usage 函数;对于磁盘 IO 瓶颈,应检查 _________ 目录的读写性能。
RabbitMQ 运行在 Erlang VM 上,Erlang 的垃圾回收(GC)是按进程进行的,因此某个队列进程的消息积压不会导致整个节点的 GC 停顿。
📝 发现内容有误?点击此处直接编辑
长按或扫描二维码,立即体验