Apache RocketMQ 介绍
375.48 KB
5 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
中文(简体) | .pdf | 3 |
摘要 | ||
Apache RocketMQ 是一个分布式消息传递和流媒体平台,以其低延迟、高性能和可靠性著称,支持万亿级容量和灵活的可扩展性。它起源于阿里巴巴,经过多次优化和实践,现已成为 Apache 社区的顶级项目。RocketMQ 的核心组件包括 NameServer、Broker、Producer 和 Consumer,支持高可靠的 messaging 模型、强大的削峰填谷能力、实时消息订阅机制以及多种消息类型(如定时消息和分布式事务消息)。与其他消息中间件如 Kafka 和 ActiveMQ 相比,RocketMQ 在低延迟、高可靠性和大规模消息处理方面表现尤为突出。 | ||
AI总结 | ||
Apache RocketMQ 是一个分布式消息传递和流媒体平台,以其低延迟、高性能和可靠性著称,支持万亿级容量和灵活的扩展性。它尤其适合金融和电子商务领域的可靠消息传输需求。
### 诞生背景
- 由阿里巴巴开发,起因是早期使用的 ActiveMQ 无法满足高并发和低延迟的需求。
- 在对比 Kafka 后,发现其在低延迟和可靠性方面仍有不足,因此阿里巴巴决定开发 RocketMQ。
### 里程碑
- 2012 年开始开发,经历了多次双 11 核心交易链路检验。
- 2016 年双 11 处理了 1.2 万亿条在线消息。
- 2017 年成为 Apache 软件基金会的顶级项目。
### 技术架构
- **NameServer**:提供轻量级服务发现和路由功能,支持快速扩缩容。
- **Broker**:负责消息存储,支持高吞吐量、多副本容错、削峰填谷和消息有序性。
- **Producer**:分布式部署,支持多种负载均衡模式和快速失败恢复。
- **Consumer**:支持 PUSH 和 PULL 模式,提供集群消费和广播消息能力。
### 核心特点
- **高可靠性**:支持多种刷盘模式,确保数据不丢失。
- **低延迟**:消息投递延迟通常在几个毫秒内。
- **高性能**:单机支持 5 万个队列,TPS 超过 5 万。
- **扩展性**:支持水平和垂直扩展,满足海量消息需求。
- **高级功能**:支持定时消息、分布式事务、消息回溯、过滤和优先级等。
### 与其他中间件的对比
- **RabbitMQ**:基于 AMQP 协议,适合系统间通信,但复杂性较高。
- **ActiveMQ**:JMS 实现,生态丰富但性能有限。
- **Kafka**:高吞吐但不保证顺序性和可靠性,适合日志处理。
### 适用场景
- **金融和电商**:需要高可靠性和低延迟的场景。
- **实时应用**:如充值、订单处理等需要快速响应的场景。
### 总结
Apache RocketMQ 作为 Apache 顶级项目,凭借其高性能、高可靠性和灵活的扩展性,在金融、电商和实时应用领域表现出色。其架构设计和功能使其成为分布式消息传递领域的领先选择。 |
P1
P2
P3
P4
P5
下载文档到本地,方便使用
文档评分