RabbitMQ 简介
【简单】RabbitMQ 是什么?⭐⭐
🎯 目标等级:L2 | ⏱ 建议用时:5 min | 🏷 标签:RabbitMQ / 基础概念
💎 关键结论
RabbitMQ 是基于 AMQP 协议、用 Erlang 实现的开源消息中间件,由 Broker 通过「交换机 + 绑定 + 队列」完成消息的接收、路由与存储。选它是因为投递可靠(Confirm + 持久化 + 仲裁队列)、路由灵活、延迟低,适合解耦、削峰、异步化等业务消息场景。
开篇词 为什么要学习 Kafka?

消息引擎系统 ABC
设计消息引擎的关键点:
- 序列化:CSV、XML、JSON、Protocol Buffer、Thrift。Kafka 默认使用纯二进制字节序列
- 传输模型:同时支持点对点模型和发布/订阅模型

Kafka 简介
【简单】Kafka 是什么?⭐⭐
🎯 目标等级:L2 | ⏱ 建议用时:8 min | 🏷 标签:Kafka / 基本概念
💎 关键结论
一句话:Kafka 是一个开源的分布式事件流平台,核心是「分区」这个有序不可变的日志单元。它快的根本原因是把消息系统做成了追加写的分布式日志,天然适合高吞吐场景。
⚡ 记忆卡片
- 口诀:平台靠分区,分区是日志,日志追加写,组来摊消费
- 关键词:事件流平台 / Topic / Partition / Offset / 消费者组
- 链路:Producer 发消息 → 按分区追加写入日志 → 副本同步保可靠 → Consumer 组按 Offset 分摊消费
读源代码前的准备
源代码目录结构
broker:Broker 模块(Broker 启动进程)client:消息客户端(生产者、消费者)common:公共包namesrv:NameServer 实现(NameServer 启动进程)remoting:远程通信模块(基于 Netty)store:消息存储实现tools:工具类、监控命令
RocketMQ 简介
【简单】RocketMQ 是什么?⭐⭐
🎯 目标等级:L2 | ⏱ 建议用时:5 min | 🏷 标签:RocketMQ / 基础概念
💎 关键结论
RocketMQ 是源于阿里巴巴、后捐赠给 Apache 成为顶级项目的开源分布式消息中间件,由 NameServer、Broker、Producer、Consumer 四大组件组成,原生支持事务消息、顺序消息、延迟消息等金融级特性。因为它诞生于阿里交易场景,相比 Kafka 更强调可靠性和业务消息能力。
📖 内容
- RocketMQ 快速入门 - 关键词:
RocketMQ、消息模型、NameServer、Broker、消息类型 - RocketMQ 面试 💯
开篇词

Kafka 源码四大模块:
- 服务器端源码:实现架构和特性
- Java 客户端源码:与 Broker 交互机制
- Connect 源码:与外部系统的数据传输
- Streams 源码:实时流处理
为什么需要消息队列?
核心应用:异步处理、系统解耦、流量削峰、系统间通信、数据缓冲、数据一致性。
该如何选择消息队列?
选型维度:是否开源(能否商用)> 社区活跃度 > 技术生态适配性 > 高可用 > 高性能 > 可靠传输。
简介
ActiveMQ 是 Apache 软件基金会旗下的一个开源消息中间件,由 Java 语言编写。它完全支持 JMS(Java Message Service)规范,提供了企业级的消息传递能力,是早期 Java 生态中最流行的消息中间件之一。
ActiveMQ 主要解决分布式系统中的异步通信、应用解耦、流量削峰、可靠传输等问题。通过引入消息中间件,生产者无需等待消费者处理完毕即可返回,提升了系统的响应速度;同时,生产者和消费者之间的耦合度大大降低,各自可以独立演进和扩展。
ActiveMQ 支持多种语言客户端(Java、C/C++、.NET、Python、Ruby 等),支持多种传输协议(OpenWire、STOMP、MQTT、AMQP 等),既可以作为点对点模型的消息队列使用,也可以作为发布/订阅模型的消息主题使用。它还支持持久化存储(KahaDB、JDBC、LevelDB 等)、消息事务、消息确认机制等企业级特性。