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

设计消息引擎的关键点:

🎯 目标等级:L2 | ⏱ 建议用时:8 min | 🏷 标签:Kafka / 基本概念
一句话:Kafka 是一个开源的分布式事件流平台,核心是「分区」这个有序不可变的日志单元。它快的根本原因是把消息系统做成了追加写的分布式日志,天然适合高吞吐场景。
broker:Broker 模块(Broker 启动进程)client:消息客户端(生产者、消费者)common:公共包namesrv:NameServer 实现(NameServer 启动进程)remoting:远程通信模块(基于 Netty)store:消息存储实现tools:工具类、监控命令🎯 目标等级:L2 | ⏱ 建议用时:5 min | 🏷 标签:RocketMQ / 基础概念
RocketMQ 是源于阿里巴巴、后捐赠给 Apache 成为顶级项目的开源分布式消息中间件,由 NameServer、Broker、Producer、Consumer 四大组件组成,原生支持事务消息、顺序消息、延迟消息等金融级特性。因为它诞生于阿里交易场景,相比 Kafka 更强调可靠性和业务消息能力。
RocketMQ、消息模型、NameServer、Broker、消息类型
Kafka 源码四大模块:
核心应用:异步处理、系统解耦、流量削峰、系统间通信、数据缓冲、数据一致性。
选型维度:是否开源(能否商用)> 社区活跃度 > 技术生态适配性 > 高可用 > 高性能 > 可靠传输。
ActiveMQ 是 Apache 软件基金会旗下的一个开源消息中间件,由 Java 语言编写。它完全支持 JMS(Java Message Service)规范,提供了企业级的消息传递能力,是早期 Java 生态中最流行的消息中间件之一。
ActiveMQ 主要解决分布式系统中的异步通信、应用解耦、流量削峰、可靠传输等问题。通过引入消息中间件,生产者无需等待消费者处理完毕即可返回,提升了系统的响应速度;同时,生产者和消费者之间的耦合度大大降低,各自可以独立演进和扩展。
ActiveMQ 支持多种语言客户端(Java、C/C++、.NET、Python、Ruby 等),支持多种传输协议(OpenWire、STOMP、MQTT、AMQP 等),既可以作为点对点模型的消息队列使用,也可以作为发布/订阅模型的消息主题使用。它还支持持久化存储(KahaDB、JDBC、LevelDB 等)、消息事务、消息确认机制等企业级特性。