作者:小馨小慧 | 来源:互联网 | 2023-08-18 15:27
篇首语:本文由编程笔记#小编为大家整理,主要介绍了更好的大数据开源消息中间件阿里RocketMQ进入Apache顶级项目相关的知识,希望对你有一定的参考价值。2015年
篇首语:本文由编程笔记#小编为大家整理,主要介绍了更好的大数据开源消息中间件 阿里RocketMQ进入Apache顶级项目相关的知识,希望对你有一定的参考价值。
2015年11月,Apache Kylin从Apache顺利毕业,成为首个由中国人主导的,当时的唯一Apache顶级开源项目。
2017年9月25日,Apache软件基金会官方宣布,由阿里巴巴捐赠给Apache社区的开源项目RocketMQ从Apache社区正式毕业,成为Apache顶级项目。自此,Apache RocketMQ成为国内首个非Hadoop生态体系、国内首个互联网中间件的Apache顶级项目。在大数据领域,中国技术正逐步走上国际舞台。
随着分布式系统架构的盛行,一个高可用、高并发的消息中间件对我们来说尤为重要。在公司快速增长时期,是没有精力去研发这种基础中间件。所以如何选择就成了一个问题?这个问题也需要我们深入了解各个消息中间件的特性。当前比较热门的开源消息中间件就是阿里开源的RocketMQ和linkin开源的kafka。
但其实两者是有所侧重的,kafka更多的应用在日志传输上。但是对于交易、订单、充值等对消息高要求的情况下有诸多特性不满足。阿里在借鉴kafka的原理的基础上使用java开发了RocketMQ(kafka使用scala编程)。虽然RocketMQ定位于非日志可靠消息传输,但对日志场景也是支持的。目前阿里集团也被广泛应用在订单、交易、充值、流计算,消息推送,日志流处理,binglog分发等场景。
消息及时性对比
我们可以看到,当发送端的并发数小的时候,Kafka和RocketMQ的接收端速度都能与之持平,Kafka表现稍好,随着发送端并发数的增加,消息处理量增大,Kafka对于发送端消息的存储能力强于RocketMQ,但是把消息投递给消费端的能力非常弱,导致消息处理的时间几乎是RocketMQ的两倍,此时RocketMQ的消息及时性远胜Kafka。
Kafka就好像是一个仓库无穷大的物流公司,货物入仓库很快,但是配送多用轮船和汽车,送货速度很慢,比如(某达速运,某通速运)。RocketMQ则像是一个仓库容量有界限的物流公司,货物入库的速度是一定的,但是配送多用飞机和汽车,送货很快(比如某丰速运),如果公司的业务量非常小,一天中几乎不存在高峰的时段,那么Kafka或RocketMQ都可以。而当消息的处理数量上升后,Kafka累积消息的能力强于RocketMQ,但是把消息投递给消费的能力大幅下降,导致消耗过多的时间(Kafka要133秒,RocketMQ要65秒)。
RocketMQ是阿里巴巴在2012年开源的第三代分布式消息中间件,商用版MQ可在阿里云上获得。历年双11,RocketMQ都承载着阿里巴巴生产系统100%的消息流转,以去年双11为例的,RocketMQ完成了1.2万亿消息精准低延迟投递,交易峰值高达17万笔/秒。RocketMQ来自于中国,但已经引起了全世界范围的关注。RocketMQ不仅斩获2015年中日韩开源论坛的CJK OSS大奖,并且已经进入欧美主流开源门户网站的视野,目前100多家公司和科研机构正在使用RocketMQ,值得一提的是目前美国是RocketMQ全球第二大访问国。
除了RocketMQ之外,阿里巴巴一直都在积极地参与和贡献开源社区。仅2016年,阿里巴巴就开源了Ant Design、Hilo、Weex、Freeline 、Macaca、AliSQL、EGG等软件。
由开源中国公布的“2016年度最受欢迎中国开源软件评选TOP20”榜单中,阿里巴巴占4席,分别是:数据库连接池Druid、JSON解析库Fastjson、分布式服务框架Dubbo、分布式消息中间件 Apache RocketMQ。其中Weex,Ant Design ,Dubbo,Fastjson 在GitHub上Star已经破万,Alibaba在GitHub上Star数超过170,000,组织排名前十。
在10月11日召开的2017杭州·云栖大会上,将举行阿里巴巴开源技术峰会,届时将有mysql & MariaDB 创始人Michael Widenius、PostgreSQL社区联合创始人 Bruce Momjian、Redis 创始人 Salvatore Sanfilippo分享开源故事,CNCF、RedHat、GitHub、Hashicorp等海外专家也将有精彩演讲。