热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

消息中间件_更好的大数据开源消息中间件阿里RocketMQ进入Apache顶级项目

篇首语:本文由编程笔记#小编为大家整理,主要介绍了更好的大数据开源消息中间件阿里RocketMQ进入Apache顶级项目相关的知识,希望对你有一定的参考价值。2015年

篇首语:本文由编程笔记#小编为大家整理,主要介绍了更好的大数据开源消息中间件 阿里RocketMQ进入Apache顶级项目相关的知识,希望对你有一定的参考价值。


2015年11月,Apache Kylin从Apache顺利毕业,成为首个由中国人主导的,当时的唯一Apache顶级开源项目。

2017年9月25日,Apache软件基金会官方宣布,由阿里巴巴捐赠给Apache社区的开源项目RocketMQ从Apache社区正式毕业,成为Apache顶级项目。自此,Apache RocketMQ成为国内首个非Hadoop生态体系、国内首个互联网中间件的Apache顶级项目。在大数据领域,中国技术正逐步走上国际舞台。

更好的大数据开源消息中间件 阿里RocketMQ进入Apache顶级项目

随着分布式系统架构的盛行,一个高可用、高并发的消息中间件对我们来说尤为重要。在公司快速增长时期,是没有精力去研发这种基础中间件。所以如何选择就成了一个问题?这个问题也需要我们深入了解各个消息中间件的特性。当前比较热门的开源消息中间件就是阿里开源的RocketMQ和linkin开源的kafka

更好的大数据开源消息中间件 阿里RocketMQ进入Apache顶级项目

但其实两者是有所侧重的,kafka更多的应用在日志传输上。但是对于交易、订单、充值等对消息高要求的情况下有诸多特性不满足。阿里在借鉴kafka的原理的基础上使用java开发了RocketMQ(kafka使用scala编程)。虽然RocketMQ定位于非日志可靠消息传输,但对日志场景也是支持的。目前阿里集团也被广泛应用在订单、交易、充值、流计算,消息推送,日志流处理,binglog分发等场景。

更好的大数据开源消息中间件 阿里RocketMQ进入Apache顶级项目

消息及时性对比

我们可以看到,当发送端的并发数小的时候,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等海外专家也将有精彩演讲。



推荐阅读
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 深入理解Java虚拟机的并发编程与性能优化
    本文主要介绍了Java内存模型与线程的相关概念,探讨了并发编程在服务端应用中的重要性。同时,介绍了Java语言和虚拟机提供的工具,帮助开发人员处理并发方面的问题,提高程序的并发能力和性能优化。文章指出,充分利用计算机处理器的能力和协调线程之间的并发操作是提高服务端程序性能的关键。 ... [详细]
  • Jmeter对RabbitMQ压力测试
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Jmeter对RabbitMQ压力测试相关的知识,希望对你有一定的参考价值。Jm ... [详细]
  • 多线程补充(一)JVM内存结构 VS Java内存模型 VS Java对象模型
    一:Java内存结构参考:https:www.zhihu.comquestion64586462answer576543433内存结构࿱ ... [详细]
  • 程度|也就是_论文精读:Neural Architecture Search without Training
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了论文精读:NeuralArchitectureSearchwithoutTraining相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 关于CMS收集器的知识介绍和优缺点分析
    本文介绍了CMS收集器的概念、运行过程和优缺点,并解释了垃圾回收器的作用和实践。CMS收集器是一种基于标记-清除算法的垃圾回收器,适用于互联网站和B/S系统等对响应速度和停顿时间有较高要求的应用。同时,还提供了其他垃圾回收器的参考资料。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
author-avatar
小馨小慧
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有