阿里妹导读:自从2011年宣布第一波开源项目以来,阿里技术人一直积极参与开源社区共建。开源项目数量每年都有所增长,目前阿里巴巴已经有150+个开源项目,其中数个项目 star 破万。相关的 GitHub 2017年数据统计显示,阿里巴巴是唯一一家入围 GitHub 顶尖贡献名单的中国公司。
在开源中国举行的“2017年度最受欢迎中国开源软件Top20”的评选中,阿里巴巴占据五席位。
其实,阿里巴巴并没有开源项目的KPI考核,各个团队都是发自内心地将踩过的坑和总结的经验融入到开源项目中,供业界所有人使用,希望帮助他人解决问题。这正是社区一致的开源精神,大家都可以站在巨人的肩膀上,每个人都可以既是老师又是学生,这或许可以解释为什么IT技术的发展能如此充满活力。
本文总结整理了2017年阿里巴巴九个重要的新开源项目和在开源中国评选中五个备受欢迎的项目,希望能对大家有所帮助。
我们见证了从大型机到分布式系统的趋势转变。大型机部署简单,无需多个节点配置,但是售价高、维护困难、单点依赖较高;而小型机组建的分布式系统则在降低成本的同时提高整体的并发量、扩展性和可靠性。相信不少人都听说过数据库连接池 Druid,json 解析 fastjson,消息中间件RocketMQ,分布式 RPC Dubbo这几个开源项目;今年还有刚开源的飞天缓存 ApsaraCache,自研富容器技术 Pouch 和文件分发系统Dragonfly。
分布式服务治理框架 Dubbo 重大升级
Dubbo 一个基于 Java 的高性能RPC框架,早在2012年开源,自开源以来深受国内友商和开源爱好者的青睐,虽然一直陆续在维护,但是由于用户群体庞大,日常维护根本无法完全满足社区的旺盛需求。随着阿里技术的发展,在保证集团内部和客户服务之外,如今可以抽调更多经历将技术赋能全社会。
今年 Dubbo 重启维护并进行了重大升级,Dubbo2 的设计原则强调扩展性、使用轻量及对开源外围系统和协议的适配,它不仅修复了优雅停机、注解配置等一些框架缺陷,还新增了通信模块和线程堆栈特性等,框架稳定性有了大幅提升。
具体而言,Dubbo 今年发布了 2.5.4, 2.5.5, 2.5.6, 2.5.7, 2.5.8 等五个版本,主要修复、合并了社区呼声最高的 issue 和Pull Request,另外主要做了以下的增强:对Netty 4 的支持、annotation 的增强、Java 8 的支持、docker 的支持。Dubbo 还会继续完善,如Dubbo Spring Boot starter、RESTful 支持,优雅部署,容错增强,路由策略增强以及异步化增强等。
除了框架本身,Dubbo 团队还重建了官网(日均 PV 3500+),更新了文档。为了进一步的扩大影响力,对官网、文档、代码开始英文化的工作,并初见成效,著名的技术博客 baeldung 发表了对Dubbo 的深度介绍 Introduction to Dubbo,并参与了开源中国、InfoQ的访谈和宣讲等活动,并入选开源中国 2017 年度最受欢迎开源软件Top20。
Dubbo之所以进行了重大升级,是因为观察到与RPC 特别相关领域的技术趋势,未来主要会着重向 Cloud Native、多语言增强、微服务支持等几个方向演进,同时 Dubbo 还会不断建设生态系统和社区以及打造国际影响力。
欢迎大家来和Dubbo的开发团队一起探讨:
https://gitter.im/alibaba/dubbo
https://github.com/alibaba/dubbo
分布式消息中间件 RocketMQ
今年9月,Apache 软件基金会官方宣布,阿里巴巴捐赠给 Apache 社区的开源项目 RocketMQ 从 Apache 社区正式毕业,成为 Apache 顶级项目(TLP)。自此,Apache RocketMQ 成为国内首个非 Hadoop 生态体系、国内首个互联网中间件的 Apache 顶级项目。今年,RocketMQ 还斩获了第十二届中日韩开源软件技术优胜奖和开源中国的“2017年度最受欢迎中国开源软件Top20”。
RocketMQ 是阿里巴巴在2012年开源的第三代分布式消息中间件,商用版MQ可在阿里云上获得。历年双11,RocketMQ 都承载着阿里巴巴生产系统100%的消息流转,以去年双11为例的, RocketMQ 完成了1.2万亿消息精准低延迟投递,交易峰值高达17万笔/秒。
RocketMQ 来自于中国,但已经引起了全世界范围的关注。RocketMQ 不仅斩获2015年中日韩开源论坛的 CJKOSS 大奖,并且已经进入欧美主流开源门户网站的视野,目前100多家公司和科研机构正在使用RocketMQ。值得一提的是目前美国是 RocketMQ 全球第二大访问国。
作为一款分布式消息引擎,RocketMQ 有如下特性:
低延迟、高并发:99.6%以上的响应延迟在1毫秒以内
面向金融:满足跟踪和审计的高可用性
工业级适用:可确保万亿量级的消息发送
中立性:支持多种消息传递协议,如 JMS 和 OpenMessaging
性能可靠:给予足够的磁盘空间,消息可以累积存放而没有性能损失。
相关链接:
https://rocketmq.apache.org/
https://github.com/alibaba/rocketmq
数据库连接池 Druid 和JSON库 Fastjson
Druid 是阿里唯一使用的数据库连接池,支持双十一等最严苛的使用场景。Druid 有一句slogan是“为监控而生的数据库连接池”。经过六年开源积累,已经相对成熟的 Druid 收获了不小的知名度与口碑,并陆续成为很多技术团队解决方案中的关键环节。
Fastjson 在服务端开发、Android客户端中广泛使用,阿里几乎每个Java应用都用到了fastjson。
转自:阿里技术
完整内容请点击“阅读原文”