11 月 28 日,阿里巴巴宣布将开源分布式消息中间件 RocketMQ 捐赠给 Apache 基金会,成为Apache 孵化项目,孵化成功后 RocketMQ 有望成为国内首个 Apache 基金会的中间件顶级项目,成为全球继 ActiveMQ、Kafka 之后,分布式消息引擎家族中的新成员。此次捐赠,意味着以 MQ(消息队列)为代表的互联网中间件在新兴物联网、大数据领域会发挥着越来越大的作用,将有更多的开发者因此受益。 |
RocketMQ 是阿里巴巴在 2012 年开源的第三代分布式消息中间件,由阿里巴巴中间件团队维护,其商用版 MQ 可在阿里云上购买。历年双 11,RocketMQ 都承担了阿里巴巴生产系统全部的消息流转,在核心交易链路有着稳定和出色的表现,是承载交易峰值(2016 年为 17 万笔/秒)的核心基础产品之一。今年双 11,更是创造了万亿级消息精准低延迟投递。
早在 2007 年,阿里巴巴中间件团队自主研发了 Notify 消息中间件,大范围应用于生产系统。为满足线上应用海量堆积的需求,2011 年阿里巴巴中间件团队自主研发了 RocketMQ 消息中间件,具有单机亿级消息堆积能力,且能支持严格的消息顺序,截止今年,阿里巴巴线上所有消息全部通过 RocketMQ 来转发投递,2016 年双十一当天更是达到万亿级消息量,峰值 TPS 达几千万,创造了国内乃至世界上最大的消息流转记录。
RocketMQ 是一个低延迟、高可靠的分布式消息中间件。它被设计为采用长轮询拉取的模式,支持传统消息领域的点对点和发布/订阅模型,单主题下支持千万级别的消息堆积,对于离线计算,尤其是双十一洪峰数据,具有很好的削峰填谷作用。对于企业级应用,它能很好的起到异步解耦的作用,在阿里巴巴内部,通过 RocketMQ 进行弱依赖解耦,已经成为不二选择。
作为数据通道,RocketMQ 在事务数据复制(全局有序),实时计算方面也具备高效的吞吐能力,在今年双十一阿里巴巴数据应用场景里,RocketMQ 端到端的平均延迟降至 100ms 以内。
不仅如此,在虚拟化、容器部署方面,RocketMQ 也能够支持快速启停,具备非常强的横向扩展能力。
RocketMQ 的商业版本是阿里云的消息队列 MQ,两个产品都是由阿里中间件消息团队出品。商业版 MQ 在支持 TCP 接入基础上,还支持 HTTP 和物联网 MQTT 协议接入,功能方面增强了运维管控方面的能力,包括可视化的消息轨迹、资源报表统计以及监控报警等;商业版 MQ 在公有云上本身具备多机房部署同城高可用容灾特性,保证企业级高可靠高性能的同时,大大降低了企业客户运维成本。
开源和商业的协同效应,如何发挥到极致?这是一个世界性难题。很不幸,我们目前正在面临这么一个问题,也在穷尽脑汁去解这么一个难题。以开源为核,商业为辅的形式,是我们目前得出的一个比较靠谱的可行之路。换句话说,我们会开源分布式消息所有核心的特性,而在商业层面,尤其是云平台的搭建上面,将运维管控、安全授权、深度培训等纳入商业重中之重。按照社区,尤其是 Apache 开源社区的运营理念,在社区建设、文档编纂、研讨交流、人才引进等方面加大投入。
阿里巴巴是个非常讲究感恩的公司。在阿里建立之初,正是基于开源软件,将整个电商平台的原型快速搭建起来的。不仅如此,即便这么多年过去了,虽然阿里的基础平台还在不断演进,但仍旧有开源软件的身影。同时,阿里巴巴有着非常深入和广泛的应用场景,通过这些几近苛刻的线上验证,我们沉淀了非常宝贵的财富。
正是基于感恩的态度,我们希望将这些久经线上验证的臻品拿出来,分享出来,回馈社区,让更多的人收益。不仅如此,我们也希望更多的人能够参与进来,在这样一个开放透明,全球协作的环境下,相信阿里巴巴在开源领域会取得更多的成绩。如果我们做的好,反过来,将会为我们的产品,我们的平台在世界范围内赢得口碑,从而进一步促进阿里巴巴生态体系的全球化、商业化,进而为全球范围内的人才引进打下良好的基础。
阿里巴巴将 RocketMQ 捐赠给 Apache 基金会只是第一步,如何将 RocketMQ 打造成为 Apache 基金会顶级项目,如何开源与商业化产品共赢。
原文地址:http://www.linuxprobe.com/alibaba-rocketmq.html编辑员:烨子,审核员:杨帆