在上一篇中我列举了部分阿里云的开源软件和框架。本节我将们继续介绍一些好用的阿里开源框架。
java表达式计算 QLExpress
QLExpress 是一个轻量级的类java语法规则引擎,作为一个嵌入式规则引擎在业务系统中使用。让业务规则定义简便而不失灵活。让业务人员就可以定义业务规则。支持标准的JAVA语法,还可以支持自定义操作符号、操作符号重载、 函数定义、宏定义、数据延迟加载等。
淘宝开放平台JAVA版SDK top4java
容易维护扩展(不需要修改主类就可以 添加新的API支持)
注入型解释器(依据不同的返回格式注入相应的解释器)
集中管理请求参数与参数映射
以运行时异常的方式来管理错误的响应
使用泛型来做强类型编程
多协议 扩展支持(REST, RPC, SOAP, etc)
Java 图片处理类库 SimpleImage
SimpleImage是阿里巴巴的一个Java图片处理的类库,可以实现图片缩略、水印等处理。
性能分析工具 TProfiler
TProfiler是一个可以在生产环境长期使用的性能分析工具.它同时支持剖析和采样两种方式,记录方法执行的时间和次数,生成方法热点 对象创建热点 线程状态分析等数据,为查找系统性能瓶颈提供数据支持。
代码评审工具 Tao-ReviewBoard
ReviewBoard是一款开源的代码review工具,包括服务器端程序(reveiwboard)和客户端命令行(RBTools)。用户可以通过RBTools的一些列命令在客户端提交request,但是使用和安装都有很多不便。Tao-ReviewBoard是淘宝开发的基于eclipse的reviewboard插件,能很好的解决安装和使用的问题。这个插件已经在淘宝使用近一年,现在工具开源了共享给大家。
基于Svg的图表组件库 KCharts
KCharts是基于Svg的图表组件库,兼容IE6+等主流浏览器。基于淘宝js框架KISSY的图表组件库,包含折线图、曲线图、柱状图、散点图、饼图、地图等常用图表。采用kissy的模块加载器,实现按需加载,支持cdn动态合并。KCharts 基于RaphelJs开发,大量的html+css实现了基础grid,流畅的动画,丰富的demo,还有实用的图表在线生成器(Chart Generator),方便初学者实用。
模拟数据生成器 Mock.js
Mock.js 是一款模拟数据生成器,旨在帮助前端攻城师独立于后端进行开发,帮助编写单元测试。
表达式解析引擎 SimpleEL
Simple EL是一个表达式解析引擎。它将表达式解析分成四个部分:预处理、编译、缓存和执行。这四个步骤任意一部分都可以替换,类似设计模式中的Template Method。
GUI的WEB接口管理工具 Rigel Automation
RAP Rigel Automation Platform 是一个GUI的WEB接口管理工具。在RAP中,您可定义接口的URL、请求&响应细节格式等等。通过分析这些数据,RAP提供MOCK服务、测试服务等自动化工具。RAP同时提供大量企业级功能,帮助企业和团队高效的工作。
实时数据传输平台 TimeTunnel
TimeTunnel(简称TT)是一个基于thrift通讯框架搭建的实时数据传输平台,具有高性能、实时性、顺序性、高可靠性、高可用性、可扩展性等特点。
tair-client-java
tair-client-java 是淘宝 Tair 这个分布式 Key/Value 存储系统的 Java 客户端开发包。 Tair的java客户端使用纯java开发,底层使用mina 通信框架,接口简洁易用。经过生产环境的压力测试,稳定可靠。
富逻辑的模板引擎 xtemplate.js
xtemplate 是独立的富逻辑模板引擎,基于浏览器和 Node.js 的可扩展的模板引擎库。 xtemplate 支持异步控制和继承,包括逻辑表达式,自定义函数等等。
Nginx的TFS模块 nginx-tfs
nginx-tfs 是 Nginx 的扩展模块用于访问淘宝的 TFS 文件系统。这个模块实现了TFS的客户端,为TFS提供了RESTful API。TFS的全称是Taobao File System,是淘宝开源的一个分布式文件系统。
redis的java客户端 Tedis
Tedis是另一个redis的java客户端,Tedis的目标是打造一个可在生产环境直接使用的高可用Redis解决方案。
数据中间层 nQuery
nQuery 引擎是来自阿里的数据中间层,主要为应对大数据场景的在线查询的三大难题:长数据、宽数据、杂数据, 广泛参考 Big Query、Impala、 PL/SQL、MySQL 、PgSQL、ql.io 等,结合自身业务特点,自行精心 设计、实现的一套类SQL 语言(nSQL)及解析、执行引擎,它有着广泛的应用场景与很强的实用 价值,能对 *SQL 型数据库提供翻译与兼容,对K/V 数据如HBase、OTS 或其他通用的数据源, 它可以作为一个简洁强大的SQL 查询引擎,并以扩展SQL 的创新方式来支持数据JOIN, 结合 NodeJS 框架,完全可以提供统一的SQL接口的高并发、高性能的的在线查询服务,解耦前后端, 极大的降低大数据场景下产品开发复杂度。
持久配置中心 diamond
diamond 是持久配置中心,支持各种持久信息(比如各种规则,数据库配置等)的发布和订阅。
支持缓存线程池的ThreadLocal Transmittable ThreadLocal(TTL)
在ThreadLocal的需求场景即是TTL的潜在需求场景,如果你的业务需要『在使用线程池等会缓存线程的组件情况下传递ThreadLocal』则是TTL目标场景。
代理服务器 AnyProxy
AnyProxy 是一个基于 Node.js 的代理服务器。代理服务器是个中间人,站在了客户端和服务端中间,双方通信的每个比特,都会滴水不漏地经过它。它控制了完整的请求头、请求体、响应头、响应体,可以在客 户端与服务端都无感知的情况下介入处理所有的流程。只要代理服务器可以实现灵活配置,前端工程师们的奇葩需求就有出头之日了。
DSL语法解析器生成器 dropincc.java
一个简单、好用的语法解析器生成器;
专为java语言环境下,实施DSL方案而设计;
特点:使用纯java语法(Fluent Interface)制定用户的词法、语法规则;jdk1.6 compiler API动态编译为字节码;自动管理字节码、用户无需关心具体生成的解析器源码;专为DSL打造,相对与使用其它常见工具(javacc, antlr等)做DSL解析,代码量急剧下降;上手较为容易,让用户更加关注自身业务内容
需要jdk1.6或以上版本运行,无任何其它依赖
识别LL(*)语法
mysql 代理 myrelay
mysql的代理,支持如下特性:
采用事件驱动、异步、非阻塞的设计模式,性能优秀
采用mysql原生协议,对应用层透明
支持mysql读写分离
提供mysql连接池管理
支持mysql冗余、健康检查
提供mysql的查询日志,方便对应用层进行分析
支持mysql配置动态加载
C语言实现
nginx-http-sysguard
nginx-http-sysguard 是阿里巴巴开发的一个 Nginx 模块,用来保护运行 Nginx 服务器的系统负载和内存使用不会太高。
阿里巴巴的开源软件框架还有很多,我这里只罗列了部分,更多的阿里巴巴开源软件框架请到官网github去学习:https://github.com/alibaba
版权声明:本文为博主原创文章,未经博主允许不得转载。
: » 淘宝阿里巴巴开源软件大全(中)
原创文章,作者:wure,如若转载,请注明出处:https://blog.ytso.com/252468.html