五十款阿里开源软件说明介绍
阿里巴巴的Github代码托管地址:https://github.com/alibaba
通过写这篇文章从开源中国站上面看了很多,也从那里将开源软件的基本的介绍和下载地址拷贝到了文章当中,总体给我的一个感受就是阿里的开源实在太强大了,多到需要花大量的时间去了解。今天写这篇文章主要是对阿里开源的项目比较陌生,通过本文也有了一个大体的认知。每个人每天有24小时,但是大部分时间我们并不能集中精力学习做事,而时间对于我们而言都是很宝贵的,原因就是人的精力是有限的,不能像机器一样学习和频繁地机械运动。惰性乃人之常情,如果不写此文我想我明天可能就会忘记阿里的这一堆东东,让他们掉入头脑的“黑洞”,为拯救记忆和不再留下遗憾,本文还是很必要写的。通过梳理,也大致看到了阿里发展过程中技术更新的轨迹。阿里很多的中间件和开源方案也是值得借鉴的,所以在很多时候我们不仅要低下头来做事,还要时不时地看看天空。
以下文章从开源中国汇总而来:http://www.oschina.net/project/alibaba
1.JDBC连接池、监控组件 Druid
Druid是一个JDBC组件,它包括三部分:(1) DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系;(2)DruidDataSource 高效可管理的数据库连接池;(3)SQLParser ;
Druid可以做什么?
1) 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。
2) 替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。
3) 数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。
4) SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。
扩展JDBC,如果你要对JDBC层有编程的需求,可以通过Druid提供的Filter-Chain机制,很方便编写JDBC层的扩展插件。如下是一个基于Druid内置扩展StatFilter的监控实现:
Git地址:http://git.oschina.net/wenshao/druid
2.分布式文件系统 FastDFS
FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
Github地址:https://github.com/happyfish100/fastdfs
3.通用 React 兼容渲染引擎 Rax
Rax 是阿里开源的一个通用的 JavaScript 库,主要有 React 兼容的 API 。 使用 React 的就应该已经知道如何使用 Rax。
特性:快速:快速的虚拟 DOM;微型:min + gzip 之后仅 8.0kb;通用:跨浏览器、Weex 和 Node.js。
Github地址:https://github.com/alibaba/rax
4.Java的JSON处理器 fastjson
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。
主要特点:快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson);强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum);零依赖(没有依赖其它任何类库除了JDK)。
Git地址:https://git.oschina.net/wenshao/fastjson
5.七天学会NodeJS文档
七天学会NodeJS是阿里巴巴国际站前端技术部编写的开源文档,用于学习 Node.js。
Github地址:https://github.com/nqdeng/7-days-nodejs
6.服务框架 Dubbo
Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 sprig框架无缝集成。
主要核心部件:
-
Remoting: 网络通信框架,实现了 sync-over-async 和 request-response 消息机制.
-
RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能
-
Registry: 服务目录框架用于服务的注册和服务事件发布和订阅
Dubbo工作原理
-
Provider
-
暴露服务方称之为“服务提供者”。
-
-
Consumer
-
调用远程服务方称之为“服务消费者”。
-
-
Registry
-
服务注册与发现的中心目录服务称之为“服务注册中心”。
-
-
Monitor
-
统计服务的调用次调和调用时间的日志服务称之为“服务监控中心”。
-
Github地址:https://github.com/alibaba/dubbo
7.开源数据库AliSQL
AliSQL是基于MySQL官方版本的一个分支,由阿里云数据库团队维护,目前也应用于阿里巴巴集团业务以及阿里云数据库服务。该版本在社区版的基础上做了大量的性能与功能的优化改进。尤其适合电商、云计算以及金融等行业环境。
阿里云数据库资深专家丁奇介绍,AliSQL版本在强度和广度上都经历了极大的考验。最新的AliSQL版本不仅从其他开源分支比如:Percona,MariaDB,WebScaleSQL等社区汲取精华,也沉淀了阿里巴巴多年在MySQL领域的经验和解决方案。AliSQL增加更多监控指标,并针对电商秒杀、物联网大数据压缩、金融数据安全等场景提供个性化的解决方案。
“在通用基准测试场景下,AliSQL版本比MySQL官方版本有着70%的性能提升。在秒杀场景下,性能提升100倍。”丁奇表示。
阿里云资深总监李津表示,“AliSQL的发展得到了众多智慧的支持。我们希望将过去几年沉淀的技术积累回馈到社区,帮助更多使用MySQL的个人和企业,这是社区良性发展的道路。我们也欢迎更多的开发者和技术团队加入AliSQL开源项目,使之在业内发挥更大的价值。”
和 Oracle 数据库的性能比较:
- 上一篇:没有了
- 下一篇: 跨系统如何保持Session存活和Token共享问题