RocketMQ分布式消息中间件发展史与未来

本文介绍了ApacheRocketMQ的发展历程,包括其在阿里巴巴的起源、MetaQ的演进、云化及与OpenMessaging的结合,以及其在金融级应用中的卓越表现。
摘要由CSDN通过智能技术生成

"Apache RocketMQ is an open source distributed messagingand streaming data platform."

——Apache RocketMQ社区官网

Apache RocketMQ是一款开源的、分布式的消息投递与流数据平台。出生自阿里巴巴,在阿里巴巴内部经历了3个版本后,作为Apache顶级开源项目之一直到现在。在GitHub上有10000+star、5000+fork、170+contributors(在GitHub上提交代码并被采纳的开发者),目前的最新版本是2020年3月的4.7.0版本。

本节主要介绍RocketMQ的产生和成长过程。

1.4.1 RocketMQ的发展史

纵观Apache RocketMQ从开始发展到现在,和一个人的成长历程类似

1.RocketMQ的前世

和大部分组件产生的原因类似,阿里巴巴内部为了适应淘宝 B2C的更快、更复杂的业务,2001年启动了“五彩石项目”,阿里巴巴的第一代消息队列服务Notify就是在这个背景下产生的。

2010 年,阿里巴巴内部的 Apache ActiveMQ 仍然作为核心技术被广泛用于各个业务线,而顺序消息、海量消息堆积、完全自主控制消息队列服务,也是阿里巴巴同时期急需的。在这种背景下,2011年,MetaQ诞生。

2.RocketMQ云化

2011年,LinkedIn将Kafka开源。2012年,阿里巴巴参考Kafka的设计,基于对MetaQ的理解和实际使用,研发了一套通用消息队列引擎,也就是 RocketMQ。自此才有了第一代真正的RocketMQ,2016年阿里云上线云RocketMQ消息队列服务。

自2001年到2012年,11年的实际使用、运维,和业务不断碰撞,才得以抽象并整理出一个真正的行业级产品,技术从来不简单,只是你看不见!

3.Apache RocketMQ“毕业”

2016年11月,阿里巴巴将RocketMQ捐献给Apache基金会。

Apache社区有一个很重要的理念:社区大于代码。虽然RocketMQ已经开源3年,在国内小有名气,而且在阿里巴巴被广泛应用并有较好的效果,但是依然不能达到 Apache优秀项目的标准。在RocketMQ被捐献后,通过一系列的修改、评审、调整,悄悄升级至4.0版本,正式进入孵化阶段。

2017年09月25日,RocketMQ成功“毕业”(Apache社区项目孵化成功即为毕业),成为 Apache 顶级项目,它是国内首个互联网中间件在Apache 的顶级项目,也是继ActiveMQ、Kafka后Apache家族中全新的一代消息队列引擎。

随着不断地更新升级,RocketMQ 的能力也越来越强大,如图 1-8所示,这是阿里巴巴双11的消息量的部分统计,可以看出RocketMQ处理的消息量已经在万亿条级别。

1.4.2 Apache RocketMQ的未来

2017年10月14日,分布式消息领域的国际标准OpenMessaging宣布加入Linux基金会。2018年,RocketMQ开发团队和社区着手思考ApacheRocketMQ 5.0计划——研发Cloud Native,与OpenMessaging更加紧密地结合在一起。

2018年,可谓是RocketMQ蓬勃发展的一年,ACL、消息轨迹、DLedger等新特性被提交到社区,还有Spring Starter、CPP、Python、Go、NodeJS等多语言的客户端也相继面世。随着社区不断有新的贡献者加入,Flink、Spark、ELK、IoT等更多的周边产品会更加完善。

如果你想要贡献代码,需要怎么做呢?按照 Apache 的工作方式,如果想要向社区提交自己的创新或改进的想法,那么首先要发起一个RIP。

关 于 RIP ( RocketMQ Improvement Proposal , RocketMQ 改 善 提案),在Apache的社区文档中是这样解释的:在过去,我们希望同学们以提交GitHub Issue的方式添加一个新功能。这是一种非常棒的提交方式,但却不正规、不易追踪和管理,所以我们介绍RIP机制来替代提交新功能的流程。

RIPs面向用户和大版本的改进,而不是小改动。当大家在怀疑改动大小时,Committer (在GitHub上拥有代码合并权限的开发者)应该考虑RIP是否可以派上用场。

怎么提交一个RIP呢?很简单,请参照如图1-10所示的流程。

Apache RocketMQ——金融级消息队列,一个拥有亚毫秒级延迟、万亿级消息容量保证、高消息容错设计的中间件,在阿里巴巴、VIPKID、微众银行、民生银行、蚂蚁金服、滴滴等国内知名互联网公司的实践中,有着完美的表现。

随着RocketMQ 5.0的发布,借助OpenMessaging提供跨平台、多语言的能力,将会打通 Prometheus、ELK 等上游组件,通过消息、Streaming 等形式将数据扭转到 Flink、Elasticsearch、Hbase、Spark、Hbase等下游组件。届时整个生态体系将会更加完美、便捷。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值