「开源人说」第一期重磅上线!一起来看《十万亿条消息背后的故事》

阿里每天近万亿级别的消息是如何完成实时消息传递的?几十万台服务器,成千上万个应用顺畅协作和消息实时传递都离不开分布式消息中间件RocketMQ。长久以来,RocketMQ易于部署、高性能、高可用的架构,支撑了数十年来集团内外海量的业务场景。2016年,阿里巴巴宣布将开源分布式消息中间件RocketMQ捐赠给Apache,并一举成为Apache顶级项目(TLP)。一个由中国开发者发起的项目,站在了一个世界的舞台上,受到全球的企业和开发者关注。RocketMQ深受开发者欢迎,多次斩获行业大奖,究竟是怎样的一群人让这一项目不断迸发出蓬勃的生命力?

这是一个从诞生第一天起就在GitHub上开发的开源项目,也是中国第一个非Hadoop生态的Apache顶级项目。它统一了阿里集团内部所有业务线的消息中间件,伴随着中国互联网发展数次迭代。

《十万亿条消息背后的故事》记录了从诞生、开源到发展至今,那些RocketMQ背后鲜为人知的创始故事。通过「开源人说」的娓娓道来,让我们一起来了解分布式消息中间件Apache RocketMQ背后的人与事!

双11,RocketMQ抖一抖,上层业务“抖三抖”

早在2007年,阿里巴巴中间件团队就自主研发了消息中间件Notify。作为RocketMQ的前身,在很长一段时间里,Notify作为主要的消息中间件支撑着淘宝天猫业务。

Apache RocketMQ的创始人王小瑞于2011年加入到淘宝中间件。当时面临最大挑战是,每年“双11”Notify都会出问题,使得消息会延迟半天甚至一天以上,商家看不到买家已经购买了商品,这对于商家服务以及客户体验的影响非常大。在缜密研判后,发现问题核心就是如何能够实现高速读写,王小瑞所在的团队认为想要解决这一问题,就需要基于一个全新存储架构来解决这个问题。于是,RocketMQ诞生了。

微信图片_20220519162709.png

RocketMQ诞生,一开始就是开源共建,3个月就出了第一个版本

王小瑞(Apache RocketMQ创始人&作者)说:“阿里的文化特别开放,我是在食堂跟小邪(现阿里云基础产品事业部负责人)吃饭的时候,说我们希望这个产品名字叫RocketMQ,希望它可以一开始就是开源的。小邪当时就给予了支持。”淘宝的文化也是马上做,做精彩。如果你有想法,那你赶紧去做。所以我当时其实做梦的过程中都在想这些问题该怎么解决。老板没有定一个严格的时间点,说你必须在什么时间写完,但我的想法是,我已经想清楚了整个架构,需要把它快速实现出来。”

从第一天开始,RocketMQ就在Github完整展现,也就是说RocketMQ的第一行代码对用户就是开放的。在非常多国内外开发者的共同参与下。RocketMQ快速迭代,大概用了3个月时间就完成第一个版本。

2015年,中日韩开源论坛上,RocketMQ作为中国开源软件的代表,荣获CJK OSS大奖。

微信图片_20220519162735.png

2016年“双11”当天,达到万亿级消息量,峰值TPS几千万,创造了国内乃至世界上最大的消息流转记录。

微信图片_20220519162755.png

RocketMQ捐赠,仅用一年,成为Apache顶级开源项目

在阿里巴巴建立之初,正是基于开源软件将整个电商平台的原型快速搭建起来。阿里巴巴感恩开源社区带来的巨大贡献与价值,也希望将自身经验分享出来、回馈社区,让更多的人受益。

2016年,阿里巴巴将分布式消息中间件RocketMQ捐赠给了Apache开源软件基金会。仅用10个月时间就从Apache毕业,并成为Apache顶级项目(TLP)。这也标志着中国拥有了第一个非Hadoop生态的顶级项目。

微信图片_20220519162817.png

(2017年9月25日,从孵化到毕业10个月左右的时间,Apache官方正式宣布阿里巴巴捐赠给Apache社区的RocketMQ从社区正式毕业,成为了Apache顶级的项目。)

Apache RocketMQ社区运营负责人王荣刚说:“我们终于完成了一个阶段性的小目标,一个由中国开发者发起的项目,站在了一个世界的舞台上,受到全球的企业和开发者的关注,那种感觉还是非常自豪的。”

2021年,RocketMQ 5.0正式发布

2021年,在经历社区众多开发者的不断努力,RocketMQ 5.0出现在行业视野中,并引发广泛讨论。新版本核心包括两大新亮点。首先,消息核心场景全面扩展,RocketMQ 5.0不再局限于消息解耦场景,将全新布局事件驱动和消息流式处理场景;其次,技术架构不断演进,逐渐形成一站式融合处理的技术架构和趋势。

2022年,批量消息索引、逻辑队列发布RocketMQ-MQTT,RocketMQ-Connect、RocketMQ-Streams,完成从业务消息平台向『消息、事件、流』一体化融合处理平台的升级。开发者可以实现一份消息存储,支持流式计算、异步投递、集成驱动等多个场景。实现技术问题一站式解决,大大降低技术复杂度和运维成本,简化企业应用架构。

阿里巴巴开源委员会副主席丁宇表示:“未来,我们会加大RocketMQ的开源投入,构建更加繁荣的社区生态,希望与更多的开发者、贡献者一起,追求极致、开放共享,实现技术普惠。”

正是因为有这样一群热爱开源并愿意为它一直奋斗的开源人们,让中国的开源事业未来可期!