阿里druid、fastjson、dubbo、RocketMQ被选为2016年度最受欢迎中国开源软件

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 2016年度最受欢迎中国开源软件 TOP 20,阿里巴巴有四个开源软件入选:数据库连接池druid、JSON解析库fastjson、分布式服务框架dubbo、消息中间件RocketMQ。
编者按: 2016年度最受欢迎中国开源软件 TOP 20,阿里巴巴有四个开源软件入选:数据库连接池druid、JSON解析库fastjson、分布式服务框架dubbo、消息中间件RocketMQ。

2016 年度最受欢迎中国开源软件评选结果已出炉。​每年的年底我们都会准备今年的一些软件榜单,我们把这个榜单定义为 “热门” 榜单,或者说是最受欢迎的榜单。我们根据软件在社区里的用户关注度、活跃度、访问量等信息来对“热门”进行量化,从而初选出一个大的列表,然后用户再在这个大的列表里投票选择出最终的结果。这样的做法就很好吗? 当然并不是最好,但是最可行。因为还有一些很不错的开源软件它本身不怎么在开源中国上活跃,或者我们可能没收录到。总之,热门软件排行榜至少是目前比较可行的方案。
2b411fbee2f0f43478c2f57164de0b058b90e3c6

TOP 1  JFinal

作者:JFinal
项目介绍
JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率!为您节约更多时间,去陪恋人、家人和朋友 :)
JFinal 有如下主要特点:
  • MVC 架构,设计精巧,使用简单
  • 遵循 COC 原则,零配置,无 xml
  • 独创 Db + Record 模式,灵活便利
  • ActiveRecord 支持,使数据库开发极致快速
  • 自动加载修改后的 java 文件,开发过程中无需重启 web server
  • AOP 支持,拦截器配置灵活,功能强大
  • Plugin 体系结构,扩展性强
  • 多视图支持,支持 FreeMarker、JSP、Velocity
  • 强大的 Validator 后端校验功能
  • 功能齐全,拥有 struts2 的绝大部分功能
  • 体积小仅 339 K,且无第三方依赖

TOP 2  ECharts

作者:百度-ECharts 团队
项目介绍
ECharts 是一款由百度前端技术部开发的,基于 Javascript 的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。提供大量常用的数据可视化图表,底层基于ZRender(一个全新的轻量级canvas类库),创建了坐标系,图例,提示,工具箱等基础组件,并在此上构建出折线图(区域图)、柱状图(条状图)、散点图(气泡图)、饼图(环形图)、K线图、地图、力导向布局图以及和弦图,同时支持任意维度的堆积和多图表混合展现。

TOP 3 Layui

作者:贤心
36a758c58ac0186f44e801e9467b3585ba76c614
项目介绍
Layui 是一款带着浓烈情怀的国产前端UI框架,她追求极简,又不失丰盈的内在,说她是史上最轻量的结晶,似乎并不为过。一切都源自于她对原生态的执着,对前端社区的那些噪杂声音的过滤,以及她本身的精心雕琢。

TOP 4  Druid

作者:阿里巴巴-wenshao
项目介绍
  • Druid是一个 JDBC 连接池、监控组件,它包括三部分:
  • DruidDriver 代理 Driver,能够提供基于Filter-Chain模式的插件体系。
  • DruidDataSource 高效可管理的数据库连接池。
  • SQLParser
Druid可以做什么?
  • 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。
  • 替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。
  • 数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。
  • SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。

TOP 5  Vue.js

作者:EvanYou
项目介绍
轻量级 JavaScript 框架 ——Vue.js,是构建 Web 界面的 JavaScript 库,提供数据驱动的组件,还有简单灵活的 API,使得 MVVM 更简单。主要特性:
  • 可扩展的数据绑定
  • 将普通的 JS 对象作为 model
  • 简洁明了的 API
  • 组件化 UI 构建
  • 配合别的库使用

TOP 6  fastjson

作者:阿里巴巴-wenshao
项目介绍
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。主要特点:
  • 快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson)
  • 强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum)
  • 零依赖(没有依赖其它任何类库除了JDK)

TOP 7  Dubbo

作者:阿里巴巴-dubbo
项目介绍
Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。主要核心部件:
  • Remoting: 网络通信框架,实现了 sync-over-async 和 request-response 消息机制.
  • RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能
  • Registry: 服务目录框架用于服务的注册和服务事件发布和订阅
Dubbo工作原理
6960becace17883e7905db70b1283f46c1cef0ab

TOP 8  ThinkPHP

作者:流年
项目介绍
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。框架在系统层面提供了众多的安全特性,确保网站和产品安全无忧。这些特性包括:
  • XSS安全防护
  • 表单自动验证
  • 强制数据类型转换
  • 输入数据过滤
  • 表单令牌验证
  • 防SQL注入
  • 图像上传检测

TOP 9  JEECG

作者:jeecg
项目介绍
JEECG是一款基于代码生成器的J2EE快速开发平台,开源界“小普元”超越传统商业企业级开发平台。引领新的开发模式(Online Coding模式(在线开发)->代码生成器模式->手工MERGE智能开发),可以帮助解决Java项目60%的重复工作,让开发更多关注业务逻辑。既能快速提高开发效率,帮助公司节省人力成本,同时又不失灵活性。具备:
  • 表单配置能力(无需编码)
  • 移动配置能力
  • 工作流配置能力
  • 报表配置能力(支持移动端)
  • 插件开发能力(可插拔)

TOP 10  zTree

作者:zTree
项目介绍
zTree 是利用 JQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插件。具备以下特点:
  • 兼容 IE、FireFox、Chrome 等浏览器
  • 在一个页面内可同时生成多个 Tree 实例
  • 支持 JSON 数据
  • 支持一次性静态生成 和 Ajax 异步加载 两种方式
  • 支持多种事件响应及反馈
  • 支持 Tree 的节点移动、编辑、删除
  • 支持任意更换皮肤 / 个性化图标(依靠css)
  • 支持极其灵活的 checkbox 或 radio 选择功能
  • 简单的参数配置实现 灵活多变的功能
600841fb6049ff8c94e9458c25cf34540e7df903

TOP 11  Mycat

作者:风--
项目介绍
MyCAT 是一个彻底开源的,面向企业应用开发的“大数据库集群” 支持事务、ACID、可以替代Mysql的加强版数据库,它可以被视为“Mysql”集群的企业级数据库,用来替代昂贵的Oracle集群。它融合内存缓存技术、Nosql技术、HDFS大数据的新型SQL Server,结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品,是一个新颖的数据库中间件产品。
MyCat架构
7cb6eb4afa42de72201d5706fbe5e864d96f7a0a


TOP 12  禅道

作者:易软天创(禅道)- 开源春哥
项目介绍
禅道是第一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。
禅道使用自主开发的zentaophp框架开发,内置了完整的扩展机制(非简单的钩子),用户可以非常方便的对禅道进行彻底的二次开发。禅道还为每一个页面提供了json接口的api,方便其他语言来调用交互。内置多语言支持,多风格支持,搜索功能,统计功能等实用功能。禅道的主要功能列表:
  • 产品管理:包括产品、需求、计划、发布、路线图等功能。
  • 项目管理:包括项目、任务、团队、build、燃尽图等功能。
  • 质量管理:包括bug、测试用例、测试任务、测试结果等功能。
  • 文档管理:包括产品文档库、项目文档库、自定义文档库等功能。
  • 事务管理:包括todo管理,我的任务、我的Bug、我的需求、我的项目等个人事务管理功能。
  • 组织管理:包括部门、用户、分组、权限等功能。
  • 统计功能:丰富的统计表。
  • 搜索功能:强大的搜索,帮助您找到相应的数据。
  • 灵活的扩展机制,几乎可以对禅道的任何地方进行扩展。
  • 强大的api机制,方便与其他系统集成。

TOP 13  Apache RocketMQ

作者:阿里巴巴-vintagewang
项目介绍
RocketMQ 是一款分布式、队列模型的消息中间件,具有以下特点:
  • 能够保证严格的消息顺序
  • 提供丰富的消息拉取模式
  • 高效的订阅者水平扩展能力
  • 实时的消息订阅机制
  • 亿级消息堆积能力
  • Metaq3.0 版本改名,产品名称改为RocketMQ

TOP 14  JFinal Weixin

作者:JFinal
项目介绍
JFinal Weixin 是基于 JFinal 的微信公众号极速 SDK,只需参考 Demo 代码即可进行极速开发。自 JFinal Weixin 1.2 版本开始已添加对多公众号支持TOP 15 JeeSite

TOP 15  JeeSite

作者:thinkgem
项目介绍
JeeSite 是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的 开源 Java EE快速开发平台。内置功能:
  • 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
  • 机构管理:配置系统组织机构(公司、部门、小组),树结构展现,可随意调整上下级。
  • 区域管理:系统城市区域模型,如:国家、省市、地市、区县的维护。
  • 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  • 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  • 字典管理:对系统中经常使用的一些较为固定的数据进行维护,如:是否、男女、类别、级别等。
  • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  • 连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
  • 工作流引擎:实现业务工单流转、在线流程设计器。

TOP 16  WeUI

作者:腾讯-ecguo
项目介绍
WeUI 是由微信官方设计团队专为微信移动 Web 应用设计的 UI 库。WeUI 是一套同微信原生视觉体验一致的基础样式库,为微信 Web 开发量身设计,可以令用户的使用感知更加统一。包含button、cell、dialog、toast、article、icon等各式元素。

TOP 17 sharding-jdbc

作者:当当网-terrymanu
项目介绍:
Sharding-JDBC是一个轻量级的关系型数据库中间件,提供分库分表、读写分离和柔性事务等功能。它直接封装JDBC协议,可以理解为增强版的JDBC驱动,旧代码迁移成本几乎为零。它使用客户端直连数据库,以jar包形式提供服务,无proxy代理层,无需额外部署,无其他依赖,DBA也无需改变原有的运维方式。 Sharding-JDBC是当当应用框架ddframe中,从关系型数据库模块dd-rdb中分离出来的数据库水平分片框架,实现透明化数据库分库分表访问。Sharding-JDBC是继dubbox和elastic-job之后,ddframe系列开源的第3个项目。主要包括以下特点:
  • 可适用于任何基于java的ORM框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template或直接使用JDBC。
  • 可基于任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid等。
  • 理论上可支持任意实现JDBC规范的数据库。虽然目前仅支持MySQL,但已有支持Oracle,SQLServer等数据库的计划。
  • 分片策略灵活,可支持等号,between,in等多维度分片,也可支持多分片键。
  • SQL解析功能完善,支持聚合,分组,排序,limit,or等查询,并支持Binding Table以及笛卡尔积表查询。
  • 性能高。单库查询QPS为原生JDBC的99.8%;双库查询QPS比单库增加94%。

TOP 18 Deepin

作者:深度Deepin-cxbii
6051c1f0a2acc09dd183ee991ac25099f3fda516
项目介绍
Deepin,是国内最流行和活跃的 Linux 发行版本。Deepin是一个致力于为全球用户提供美观易用,安全可靠的Linux发行版。它不仅仅对最优秀的开源产品进行集成和配置,还开发了基于HTML5技术的全新桌面环境、系统设置中心、以及音乐播放器,视频播放器,软件中心等一系列面向日常使用的应用软件。LinuxDeepin非常注重易用的体验和美观的设计,因此对于大多数用户来说,它易用安装和使用,还能够很好的代替Windows系统进行工作与娱乐。

TOP 19 JeeWx 捷微

作者:jeecg
项目介绍
Jeewx是一款开源、免费的微信管家系统(多触点管理平台)。采用JAVA语言,支持微信公众号、微信企业号、支付宝服务窗、QQ公众号、微博账号等多触点管理。Jeewx实现了微信、支付窗、微信企业号、微博等触点的基础管理功能,便于用户二次开发。平台特性:
  • JEEWX基于快速开发平台jeecg 3.4.4 版本开发,以maven方式构建,采用SpringMvc + Hibernate + Easyui等主流架构技术
  • 支持微信公众号、支付窗、微信企业号 等多触点
  • 开源免费,jeewx遵循Apache2开源协议
  • 完善的用户组织机构,报表,强大的代码生成器,有效的提高开发效率
  • 详细的二次开发文档,并不断更新增加相关开发案例提供学习参考
  • 触点模块采用微服务架构Jeecg-p3开发,支持插件化开发,可插拔可集成
  • JEEWX不断升级中,后续会陆续集成 QQ公众号、微博账号、微信小程序等触点支持

TOP 20 Nutz

作者:三个字儿
项目介绍
Java 应用框架 Nutz 是开源的,商用也是完全免费的。一个 jar 包就包含了 Mvc , Ioc, Dao, Aop,不强制依赖第三方 jar。小巧的Lang工具箱和EL表达式引擎,满足各种小需求。内置Json序列化/反序列化, 简洁高效。Mvc/Ioc 可稳定运行在 android 平台,普通 x86/x64/arm 环境更不在话下。
9d7d4df1309e1df22e9c65f135e89dbc83962268

来源:开源中国  
相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
6月前
|
物联网
MQTT常见问题之用单片机接入阿里MQTT实例失败如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
Dubbo Java 应用服务中间件
阿里新框架干掉微服务,换下Dubbo,Spring CloudAlibaba王者降临
tm快了,不知不觉中金九银十的秋招已经快结束了,不少同学现在已经拿到offer了吧~现在的面试可是越来越难了,动不动就是“互联网三高”。
阿里新框架干掉微服务,换下Dubbo,Spring CloudAlibaba王者降临
|
27天前
|
消息中间件 Java 数据库
新版 Seata 集成 RocketMQ事务消息,越来越 牛X 了!阿里的 Seata , yyds !
这里 借助 Seata 集成 RocketMQ 事务消息的 新功能,介绍一下一个新遇到的面试题:如果如何实现 **强弱一致性 结合**的分布式事务?
新版 Seata 集成 RocketMQ事务消息,越来越 牛X 了!阿里的 Seata , yyds !
|
29天前
|
消息中间件 存储 canal
阿里面试:canal+MQ,会有乱序的问题吗?
本文详细探讨了在阿里面试中常见的问题——“canal+MQ,会有乱序的问题吗?”以及如何保证RocketMQ消息有序。文章首先介绍了消息有序的基本概念,包括全局有序和局部有序,并分析了RocketMQ中实现消息有序的方法。接着,针对canal+MQ的场景,讨论了如何通过配置`canal.mq.partitionsNum`和`canal.mq.partitionHash`来保证数据同步的有序性。最后,提供了多个与MQ相关的面试题及解决方案,帮助读者更好地准备面试,提升技术水平。
阿里面试:canal+MQ,会有乱序的问题吗?
|
3月前
|
消息中间件 人工智能 监控
|
6月前
|
Dubbo 应用服务中间件 Docker
阿里P8架构师谈微服务架构:Dubbo+Docker+SpringBoot+Cloud
什么是微服务架构呢?简单说就是将一个完整的应用(单体应用) 按照一定的拆分规则(后文讲述)拆分成多个不同的服务,每个服务都能独立地进行开发、部署、扩展。服务于服务之间通过注入RESTful api或其他方式调用。
|
6月前
|
负载均衡 Dubbo 应用服务中间件
阿里微服务架构到底多牛逼:深入解析Apache Dubbo与实战
在Apache Dubbo (以下简称Dubbo)重新开源之前,Dubbo已经被很多公司广泛用于生产环境并获得了良好的反馈,很多公司内部也会建立私有分支自己维护,其中Dubbox 就是基于Dubbo分支进行扩展并二次维护的。重新开源后,社区维护的Dubbo版本进行了大量“bug fix" .和特性支持,收到了大量Dubbo用户的支持和参与。编写本书的想法是在开源后提出来的,因此本书取名《深入理解Apache Dubbo与实战》。
|
12月前
|
Dubbo Java 应用服务中间件
阿里一面:说一说Java、Spring、Dubbo三者SPI机制的原理和区别
大家好,我是三友~~ 今天来跟大家聊一聊Java、Spring、Dubbo三者SPI机制的原理和区别。 其实我之前写过一篇类似的文章,但是这篇文章主要是剖析dubbo的SPI机制的源码,中间只是简单地介绍了一下Java、Spring的SPI机制,并没有进行深入,所以本篇就来深入聊一聊这三者的原理和区别。
|
Kubernetes Dubbo 应用服务中间件
GitHub标星35k+微服务深度原理实践进阶PDF,竟让阿里换下了Dubbo
最近一个粉丝分享了他悲惨的阿里面试故事,好不容易冲进三面,最后凉了! 关键在于微服务部分没回答好。 本人自己说在看到这些面试真题之后人都是懵的,之前这方面也没有很重视,结局就很可惜了。 今天先结合我这个粉丝的经历和面的题,分析一下微服务,以及我在这方面的学习经验也给大家分享一下。
|
消息中间件 程序员 Apache
阿里RocketMQ创始人首次分享出这份RocketMQ技术内幕神级架构手册
RocketMQ的发展史? RocketMQ的开源正是源于对这种开源文化的认同,开放是为了更好的协同创新,并将这一技术推向新的高度。在经历了阿里巴巴集团内部多年“双11”交易核心链路工业级场景在验证,2016年11月,团队将RocketMQ捐献给全球享有盛誉的Apache软件基金会正式质为孵化项目。 至此,RocketMQ开启了迈向全球顶级开源软件的新征程。