入门
消息队列基础概念
RabbitMQ 简介与安装
Docker 快速部署
教程文章使用Docker快速启动RabbitMQ容器,完成基础配置与Java客户端连接验证。
Erlang 依赖说明
教程文章了解RabbitMQ依赖Erlang运行时的原因,掌握版本兼容性要求与安装配置注意事项。
RabbitMQ 架构概述
教程文章了解RabbitMQ基于AMQP协议的整体架构,掌握Broker、Exchange、Queue、Binding等核心组件的角色与协作关系。
服务启动与状态检查
教程文章掌握rabbitmqctl命令行工具的核心用法,包括服务启停、状态查看、插件管理等日常运维操作。
系统本地安装(可选)
教程文章介绍Windows/Linux系统下RabbitMQ的手动安装流程,包括Erlang环境依赖与服务注册步骤,仅作了解。
核心概念入门
交换机 Exchange
教程文章理解交换机接收生产者发送的消息并按规则转发至队列的核心机制,掌握四种交换机类型的区别。
绑定 Binding
教程文章掌握交换机与队列之间绑定关系的建立方式,理解Binding Key在消息路由中的过滤作用。
虚拟主机 VHost
教程文章理解VHost实现多租户资源隔离的原理,掌握VHost的创建、配置与连接指定方法。
路由键 Routing Key
教程文章理解路由键的匹配机制,掌握Direct与Topic交换机下消息筛选的核心规则。
连接 Connection 与通道 Channel
教程文章理解TCP连接复用与轻量级通道的设计优势,掌握Connection和Channel的创建与复用方式。
队列 Queue
教程文章理解队列的FIFO存储特性与消费者订阅机制,掌握队列声明、消息生产与消费的核心操作。
消息发送与接收
消息属性与编码
教程文章介绍 RabbitMQ 消息的属性配置方法,包括持久化、优先级、过期时间等,以及多格式消息的序列化与解析。
消费者基础接收
教程文章介绍 RabbitMQ Java Client 中消费者订阅队列、监听消息及基础业务处理的实现方法。
生产者基础发送
教程文章介绍 RabbitMQ Java Client 中生产者创建连接、声明交换机并发送消息的基础流程。
连接参数配置
教程文章介绍 RabbitMQ Java Client 中 ConnectionFactory 的核心参数配置方法,包括地址、认证、虚拟主机等设置。
连接异常处理
教程文章介绍 RabbitMQ Java Client 常见连接异常类型及处理方法,保障连接稳定性与资源正确释放。
工作队列模式
消息确认机制基础
进阶
交换机类型详解
消息路由与绑定
Topic通配符规则
教程文章掌握Topic交换机的通配符语法规则,理解*匹配一个单词、#匹配零或多个单词的路由机制。
动态绑定管理
教程文章介绍RabbitMQ运行时动态创建和删除绑定关系的方法,实现灵活的消息路由变更。
多重绑定与路由
教程文章实现一个队列绑定到多个交换机或同一交换机多个路由键,理解消息复制与重复投递机制。
绑定参数配置
教程文章掌握queueBind方法的参数配置,理解交换机、队列与路由键的绑定关系及高级绑定选项。
路由失败处理
教程文章介绍RabbitMQ中mandatory参数的配置与使用,处理消息无匹配路由时的返回机制与异常处理策略。
路由策略设计
教程文章根据业务需求选择Direct、Fanout、Topic交换机组合,设计高效的消息路由策略架构。
消息可靠性保障
死信队列与延迟队列
TTL 消息过期
教程文章设置队列或消息级别的 TTL 参数控制消息的自动过期时间,支持毫秒精度。
延迟队列实现
教程文章组合 TTL 与死信交换机实现消息延迟投递,适用于订单超时取消、定时任务等场景。
延迟队列插件
教程文章介绍使用rabbitmq-delayed-message-exchange插件简化延迟消息投递,替代传统死信队列延迟方案。
死信交换机概念
教程文章理解消息成为死信的三种条件与DLX交换机的转发机制,掌握死信消息的生命周期。
死信消息处理
教程文章监控死信队列、分析死信原因并实现死信消息的补偿处理,保障消息不丢失。
死信队列配置
教程文章通过 x-dead-letter-exchange 和 x-dead-letter-routing-key 参数配置队列的死信转发规则。
消费者模式与并发
并发消费者模型
教程文章配置多线程消费者实现并行消息处理,提升消费吞吐能力。
手动确认最佳实践
教程文章在业务处理成功后调用 basicAck 避免消息重复消费,保障消息可靠性。
批量确认优化
教程文章使用basicAck的multiple参数批量确认多条消息,减少网络往返开销,提升消费吞吐量。
消费者异常恢复
教程文章实现消费者崩溃后的自动重连、队列重新订阅与状态恢复,保障消费链路高可用。
消费速率控制
教程文章根据下游处理能力动态调整预取数量,实现自适应消费速率,避免消息堆积与消费者过载。
预取数量配置
教程文章使用 basicQos 设置 prefetch count 控制消费者未确认消息上限,实现负载均衡。
集群与高可用
仲裁队列 Quorum Queue
教程文章使用基于Raft共识算法的仲裁队列,相比镜像队列提供更强的数据一致性与容错能力。
节点类型与角色
教程文章理解RabbitMQ集群中磁盘节点与内存节点的角色分工,合理规划集群部署方案。
负载均衡配置
教程文章在RabbitMQ集群前端配置负载均衡器,实现生产者与消费者连接的流量分发,提升集群可用性与吞吐量。
镜像队列配置
教程文章使用ha-policy配置队列镜像,实现消息在多节点间同步复制,提升队列高可用性。
集群加入与离开
教程文章掌握节点加入集群、优雅离开与集群重新平衡的标准操作流程,保障扩容缩容期间的服务连续性。
集群架构模式
教程文章理解RabbitMQ普通集群与镜像集群的架构差异,根据业务需求选择合适的集群部署方案。
消息序列化与格式
连接管理与 Channel
Channel 复用策略
教程文章多线程环境下合理复用Channel,保障线程访问安全,避免并发冲突导致的消息异常与连接中断。
多VHost连接管理
教程文章通过独立连接管理多个虚拟主机,实现资源隔离与权限管控,避免跨 VHost 资源冲突。
异常处理与恢复
教程文章监听连接关闭事件,实现自动重连与Channel重建,保障消息系统的故障自愈能力。
连接参数调优
教程文章通过调整超时、心跳、连接池等参数,优化 RabbitMQ 连接的稳定性与交互效率。
连接心跳机制
教程文章配置RabbitMQ心跳参数,定期检测空闲连接状态,实现断线自动重连,保障连接可靠性。
连接池配置
教程文章使用连接池管理RabbitMQ连接,规避频繁创建销毁带来的性能损耗,提升高并发场景下的连接效率。
插件机制
Shovel 插件与消息桥接
教程文章使用 Shovel 插件实现跨集群消息桥接与同步,支持异地多活和数据迁移场景。
延迟消息插件
教程文章安装配置 rabbitmq-delayed-message-exchange 插件,实现定时消息投递,无需 TTL+DLX 组合。
插件安装与管理
教程文章通过 rabbitmq-plugins 命令管理插件的启用、禁用和状态查看,扩展 RabbitMQ 功能。
消息过滤与拦截
教程文章使用拦截器在消息发布和消费前后执行自定义逻辑,实现消息过滤、格式转换和路由预处理。
消息追踪插件
教程文章启用 rabbitmq_tracing 插件,记录消息在交换机和队列中的流转日志,便于问题排查。
专家
性能调优与优化
内存管理调优
教程文章配置内存水位阈值、启用Lazy Queue与内存分页策略,管控RabbitMQ内存占用,避免OOM与流量反压。
吞吐量瓶颈分析
教程文章通过基准测试定位RabbitMQ吞吐瓶颈,分析CPU、磁盘、网络、内存四大维度的性能指标,输出落地优化方案。
并发连接调优
教程文章通过调整OS文件描述符限制、Erlang进程上限与RabbitMQ连接参数,支撑大规模并发接入,避免连接拒绝与资源耗尽。
消息批处理优化
教程文章通过批量发送、批量确认机制减少网络往返次数,降低协议开销,提升RabbitMQ消息吞吐能力。
磁盘 IO 优化
教程文章通过优化刷盘策略、选用SSD硬件、合理规划数据目录与文件系统,提升RabbitMQ消息持久化写入性能。
网络参数优化
教程文章通过调整TCP连接参数、内核网络缓冲区与RabbitMQ帧大小,降低消息传输时延,提升网络传输效率。
底层原理与架构
Erlang VM 架构
教程文章理解BEAM虚拟机进程模型、调度器、垃圾回收与RabbitMQ服务架构映射关系,排查性能与稳定性问题。
Mnesia 数据库
教程文章解析 RabbitMQ 元数据存储核心组件 Mnesia 的分布式存储机制、数据复制策略与读写逻辑。
协议解析与AMQP
教程文章剖析AMQP 0-9-1协议帧结构、握手流程与RabbitMQ服务端解析实现原理,理解消息路由底层机制。
消息存储机制
教程文章解析 RabbitMQ 消息持久化写入、索引与读取底层流程,包括消息落盘策略与索引管理机制。
消息路由流程
教程文章梳理 RabbitMQ 消息从生产者到消费者的全链路流转处理逻辑,包括交换器匹配与队列分发机制。
调度器与进程模型
教程文章解析 RabbitMQ 基于 Erlang VM 的进程调度分配与任务窃取运行机制,理解高并发处理能力来源。
高可用与容灾
分区容忍与脑裂
教程文章解析 RabbitMQ 网络分区处理策略,掌握分区检测与脑裂规避方案,保障集群数据一致性。
异地多活架构
教程文章RabbitMQ异地多活架构通过多集群部署与Shovel/Federation插件实现跨地域消息同步,保障业务异地容灾可用。
故障转移机制
教程文章解析 RabbitMQ 节点宕机自动切换机制,掌握镜像队列故障转移与脑裂规避方案。
数据备份策略
教程文章解析 RabbitMQ 元数据与业务消息的定时备份与恢复流程,确保数据安全与快速恢复。
灾难恢复演练
教程文章RabbitMQ灾难恢复演练的核心是验证故障预案有效性,本文介绍恢复流程设计、数据完整性校验与业务恢复时效评估方法。
跨机房容灾部署
教程文章解析 Federation 与 Shovel 插件实现跨数据中心消息同步与异地互通的部署方案。
安全与权限控制
TLS/SSL 加密通信
教程文章RabbitMQ通过TLS/SSL实现全链路加密通信,防止消息传输过程中被窃听或篡改,本文介绍证书部署与客户端加密连接配置。
VHost 资源隔离
教程文章RabbitMQ通过虚拟主机VHost实现多业务环境资源隔离,本文介绍VHost创建、权限绑定与隔离最佳实践。
安全加固与审计
教程文章RabbitMQ安全加固包括禁用默认账号、IP访问控制与操作日志审计,构建完整的安全管控体系。
密码策略与轮换
教程文章RabbitMQ账号密码策略规范与定期轮换机制,防止密码泄露与暴力破解,保障集群访问安全。
授权与权限模型
教程文章RabbitMQ通过精细化权限模型控制队列、交换机的读写管理权限,本文介绍权限配置方法与最佳实践。
认证机制
教程文章RabbitMQ支持多种登录认证方式,包括默认密码认证、LDAP、OAuth2等,本文介绍认证配置与接入管控方法。
消息追踪与排查
Firehose 消息追踪
教程文章启用 Firehose 全局消息追踪功能,将所有流经 Broker 的消息副本路由到指定队列,实现消息链路级追踪与异常排查。
Prometheus 集成
教程文章通过 rabbitmq_prometheus 插件暴露 Prometheus 格式指标,配合 Grafana 搭建集群监控大盘,实现 RabbitMQ 全链路可观测。
Tracing 插件
教程文章安装配置 Tracing 插件实现按需过滤追踪消息,相比 Firehose 的无差别复制,支持按 vhost、Exchange 等维度精细控制追踪范围。
日志分析与解读
教程文章解析 RabbitMQ 运行日志,掌握日志分级与关键字段含义,快速定位消息积压、消息丢失、连接故障等典型问题。
消息丢失排查
教程文章建立分段排查方法,从生产者发布、Broker 路由、队列存储到消费者投递全链路定位消息丢失根因,快速恢复业务。
监控指标体系
教程文章解析RabbitMQ核心监控指标,掌握消息速率、队列深度、连接数等关键指标的采集方法与告警规则配置,快速建立集群可观测性体系。
源码分析与扩展
生产实践与最佳实践
多租户治理
教程文章介绍RabbitMQ多租户治理方案,涵盖资源配额、限流隔离、权限管控与多业务共享策略。
容量规划与评估
教程文章介绍RabbitMQ容量规划方法,通过业务指标测算集群规模、资源配置与性能瓶颈评估。
常见问题排查
教程文章介绍RabbitMQ消息积压、连接泄漏、内存告警等生产故障的排查思路与处置方案。
灰度发布方案
教程文章介绍RabbitMQ消费者灰度发布方案,涵盖流量切换、版本兼容与风险回滚策略。
版本升级策略
教程文章介绍RabbitMQ滚动升级方案、版本兼容性矩阵、降级回滚流程及升级风险管控。
运维自动化
教程文章介绍RabbitMQ运维自动化方案,涵盖代码化部署、配置管理与日常运维脚本。
