1
回答
Apache RocketMQ:从孵化项目到顶级项目 这是一个新的开始

几个月前,RocketMQ 社区发生了一件大事 —— Apache RocketMQ 宣布从 Apache 社区正式毕业,成为 Apache 顶级项目 (TLP),这也是国内首个互联网中间件的 Apache 顶级项目。要知道,RocketMQ 于 2016 年 11 月才由阿里捐献给 Apache 软件基金会成为孵化项目。

从孵化项目到顶级项目,RocketMQ 经历了 10 个月的时间,这样的成绩可以说是相当不错了。不过个中的艰辛,相信也只有开发团队的成员们能感同身受。

事实上,早于 2012 年 RocketMQ 就已经开源了,它是阿里巴巴自研的第三代分布式消息中间件,不仅在传统高频交易链路有着低延迟的出色表现,在实时计算等大数据领域也有着不错的吞吐。自诞生之初就备受关注。

阿里开源的项目一般都是由内部的使用而诞生,RocketMQ 也不例外,历年双11,RocketMQ 都承担了阿里巴巴生产系统百分之百的消息流转,在核心交易链路有着稳定和出色的表现,是承载交易峰值(2016年为17万笔/秒)的核心基础产品之一。2016 年双11,更是创造了万亿级消息精准低延迟投递。

作为一款分布式消息中间件,RocketMQ 有如下特性:

  • 低延迟、高并发:99.6% 以上的响应延迟在 1 毫秒以内
  • 面向金融:满足跟踪和审计的高可用性
  • 工业级适用:可确保万亿量级的消息发送
  • 中立性:支持多种消息传递协议,如 JMS 和 OpenMessaging
  • 性能可靠:给予足够的磁盘空间,消息可以累积存放而没有性能损失

上周六,Apache RocketMQ 社区在深圳举办了一次线下交流会,笔者有幸到现场进行了学习和交流。在这次 Meetup 上,社区中的 PMC Member、Committer、深度用户以及资深专家汇聚一堂给大家带来了精彩的技术分享。

我们了解到许多知名的互联网公司都选择了使用 Apache RocketMQ,应用场景也涵盖了电商领域、金融领域、大数据领域,以及物联网领域等。

在当时的环境下,Apache RocketMQ 从众多的同类项目中脱颖而出,走出了一条属于自己的路,一路走来,可以说是披荆斩棘。

上面这张图列举了 RocketMQ 诞生时,业界已有的比较知名的消息引擎,包括 ZeroMQ、推特的 Distributedlog、Apache 旗下的老牌消息引擎 ActiveMQ、AMQP 的默认实现 RabbitMQ、Kafka、Apache 的 ActiveMQ 下的子项目 Artemis、同样为 Apache 的 ActiveMQ 的子项目的号称下一代消息引擎的 Apollo、商业化的消息引擎 IronMQ 以及实现了 JMS(Java Message Service)标准的 OpenMQ。

RocketMQ 的诞生当然也受到了它们的影响,但发展到后来,基本上是依赖于自身的研发,毕竟阿里的业务是如此的庞大,开源的解决方案很难满足相应的场景。不过这也是相辅相成的关系,恰恰是庞大的体系使得 RocketMQ 有机会面对和挑战更多更复杂的场景,促使它有了今天的发展。

我们不妨来看一下 RocketMQ 的整体发展历史。最早可追溯到阿里自研的第一代消息引擎 —— Notify,接着就是 Napoli,它是阿里基于 ActiveMQ 5.1版本开发的一款消息引擎。而后在 2011 年,业界出现了现在被很多大数据领域所推崇的 Kafka 消息引擎,阿里在研究了 Kafka 的整体机制和架构设计之后,基于 Kafka 的设计使用 Java 进行了完全重写并推出了 MetaQ 1.0 版本。但开发团队发现 MetaQ 基于 Kafka 的架构在阿里巴巴如此庞大的体系下很难进行水平扩展,所以在 2012 年的时候就开发了 RocketMQ 3.0 版本,这也是被命名为 RocketMQ 的首个版本。

从完全重写的 RocketMQ 3.0,到捐赠给 Apache 基金会并成为顶级项目的 Apache RocketMQ,RocketMQ 一直在稳定地发展着。那么下一代的消息引擎 RocketMQ 5.0 将会如何发展呢?

这里有必要提一下 OpenMessaging,OpenMessaging 是国内首个在全球范围发起的分布式计算领域的国际标准,项目旨在创立厂商无关、平台无关的分布式消息及流处理领域的应用开发标准,以服务快速发展的互联网与云计算生态。目前,这套标准也已正式入驻 Linux 基金会。

而下一代消息引擎 RocketMQ 5.0 将会基于 OpenMessaging,主要会在电子商务、物联网、大数据以及金融这四个领域持续发力,为高并发、海量链接、高吞吐和高可靠以及数据冗余等应用场景提高更好的解决方案。在整体架构、存储和运维、Broker 和 SDK 方面,也会带来巨大的改进。

RocketMQ 从 Apache 社区毕业并成为 Apache 顶级项目是一个里程碑,更是一个全新的开始。相信在消息中间件持续耕的 RocketMQ 将会为开源社区带来更好的成果。

举报
局长
发帖于10个月前 1回/734阅
顶部