作者:禅与计算机程序设计艺术
1.简介
RocketMQ 是一款开源、高性能、分布式消息中间件,它具备以下主要特征:
- 支持海量消息堆积能力,支持发送10万+TPS,且不受单机容量限制;
- 提供灵活的消息过滤机制,支持按照标签,SQL92标准的过滤语法进行消息过滤;
- 丰富的消息订阅模型,包括广播消费,集群消费,事务消费等多种模式;
- 内置丰富的管理控制台,通过Web UI来方便地对集群进行管理、监控及报警;
- 高吞吐量,单机QPS达到万级;
- 支持多语言客户端,包括JAVA,C++,Go,Python等多种语言;
- 社区活跃,版本迭代周期短,文档齐全。
1.背景介绍
随着互联网的蓬勃发展,各种业务系统越来越复杂,为了应对这些业务系统的快速增长,分布式消息中间件成为越来越重要的组件之一。
在传统的消息中间件中,Apache ActiveMQ、RabbitMQ等都在提供基于JMS规范的接口,以实现应用间的通信。但是这些产品缺乏商业化市场的积极发展。
于是阿里巴巴团队在开源的Jafka项目上研发出了分布式消息中间件RocketMQ,在架构上提供了更高的扩展性、更好的性能和可靠性。RocketMQ支持多种消息模型,包括发布/订阅、点对点和顺序消息,同时还支持高效的查询功能。
RocketMQ已被阿里巴巴、腾讯、美团、网易、华为等互联网企业采用,并取得了良好的效果。
目前,RocketMQ已成为 Apache 孵化器下的顶级项目,每周都会发布新版本,