「内部分享」阿里巴巴 开源软件列表、建议收藏!

点击上方的终端研发部,右上角选择“设为星标

每日早9点半,技术文章准时送上

公众号后台回复“学习”,获取作者独家秘制精品资料

640x_fmt=png

作者:刺绣兰溪

原文链接:https://www.jianshu.com/p/32892c6641ab

导读

阿里的开源项目很多,这也跟@淘宝正明的开源态度密不可分。有很多重量级的项目,例如LVS、Tengine,或者很有实践价值的中间件,今天小编为大家汇总了阿里开源的项目,快来看看吧!

服务框架 Dubbo

640x_fmt=jpeg

Java的JSON处理器 fastjson

fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。

分布式文件系统 FastDFS

FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

640x_fmt=jpeg

淘宝分布式数据库 OceanBase

OceanBase是一个支持海量数据的高性能分布式数据库系统,实现了数千亿条记录、数百TB数据上的跨行跨表事务,由淘宝核心系统研发部、运维、DBA、广告、应用研发等部门共同完成。在设计和实现OceanBase的时候暂时摒弃了不紧急的DBMS的功能,例如临时表,视图(view),研发团队把有限的资源集中到关键点上,当前 OceanBase主要解决数据更新一致性、高性能的跨表读事务、范围查询、join、数据全量及增量dump、批量数据导入。

目前OceanBase已经应用于淘宝收藏夹,用于存储淘宝用户收藏条目和具体的商品、店铺信息,每天支持4~5千万的更新操作。等待上线的应用还包括CTU、SNS等,每天更新超过20亿,更新数据量超过2.5TB,并会逐步在淘宝内部推广。

分布式key/value存储系统 Tair

Tair是由淘宝网自主开发的Key/Value结构数据存储系统,在淘宝网有着大规模的应用。您在登录淘宝、查看商品详情页面或者在淘江湖和好友“捣浆糊”的时候,都在直接或间接地和Tair交互。

640x_fmt=jpeg

它类似于sar,能监控和收集服务器和关键应用的信息,支持实时终端显示和集中式数据库存储查询,还能向Nagios发送报警信息。Tsar模块化的设计利于通过开发新模块来扩展新的功能,非常方便。

七天学会NodeJS

七天学会NodeJS是阿里巴巴国际站前端技术部编写的开源文档,用于学习 Node.js。

640x_fmt=jpeg

阿里巴巴分布式数据库同步系统 otter

otter 基于数据库增量日志解析,准实时同步到本机房或异地机房mysql/oracle数据库. 一个分布式数据库同步系统。

640x_fmt=jpeg

JavaScript 模板引擎 Velocity.js

Velocity.js 是velocity模板语法的javascript实现。Velocity 是基于Java的模板引擎,广泛应用在阿里集 体各个子公司。Velocity模板适用于大量模板使用的场景,支持复杂的逻辑运算,包含 基本数据类型、变量赋值和函数等功能。Velocity.js 支持 Node.js 和浏览器环境。

Oracle数据迁移同步工具 yugong

yugong 是阿里巴巴推出的去Oracle数据迁移同步工具(全量+增量,目标支持MySQL/DRDS)08年左右,阿里巴巴开始尝试MySQL的相关研究,并开发了基于MySQL分库分表技术的相关产品Cobar/TDDL(目前为阿里云DRDS产品),解决了单机Oracle无法满足的扩展性问题,当时也掀起一股去IOE项目的浪潮,愚公这项目因此而诞生,其要解决的目标就是帮助用户完成从Oracle数据迁移到MySQL上,完成去IOE的第一步。

640x_fmt=jpeg

非侵入式运行期 AOP 框架 Dexposed

Dexposed 是阿里巴巴无线事业部第一个重量级Andorid 开源软件,基于 ROOT 社区著名开源项目 Xposed 改造剥离了 ROOT 部分,演化为服务于所在应用自身的 AOP 框架。它支撑了阿里大部分 App 的在线分钟级客户端 bugfix 和线上调试能力。

Dexposed 的 AOP 是实现了纯非侵入式,没有任何注释处理器,weaver 或者字节码重写程序。

Dexposed 的集成非常简单,就像加载一个 JNI 库一样,只需要在初始化的时候插入一行代码。

Android 应用热修复工具 AndFix

AndFix 是阿里巴巴开源的 Android 应用热修复工具,帮助 Anroid 开发者修复应用的线上问题。Andfix 是 “Android hot-fix” 的缩写。

AndFix 支持 Android 2.3 – 6.0,ARM 和 x86 架构,dalvik 运行时和 art 运行时。AndFix 的分支是.apatch 文件。

640x_fmt=jpeg

淘宝 React 框架 React Web

淘宝前端团队开源项目React Web,通过与React Native一致的API构建Web应用。

640x_fmt=jpeg

Bug管理系统 BugFree

BugFree – 借鉴微软公司软件研发理念、免费且开放源代码、基于Web的精简版Bug管理系统。

640x_fmt=jpeg

国产论坛系统 PHPWind

PHPWind 论坛系统 是一套采用 php+mysql 数据库 方式运行并可生成 html 页面的全新且完善的强大系统。因具有非凡的访问速度和卓越的负载能力而深受国内外朋友的喜爱。

通用WEB框架 Webx

Webx是一个在阿里巴巴集团内部广泛使用的,层次化、模块化的一个Web框架。Webx是基于经典MVC设计模式的WEB框架,推崇页面驱动和约定胜于配置的理念。Webx是一个基于Spring的组件框架。组件是一个软件包,它可以被其它组件扩展,也可以扩展其它组件。利用这些特性,Webx不仅能够用来开发高度可定制的Web应用(这是它的主要功能),也能够用来帮助你开发高度可扩展的非WEB的应用。

分布式文件系统 TFS

TFS(Taobao FileSystem)是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,其设计目标是支持海量的非结构化数据。

目前,国内自主研发的文件系统可谓凤毛麟角。淘宝在这一领域做了有效的探索和实践,Taobao File System(TFS)作为淘宝内部使用的分布式文件系统,针对海量小文件的随机读写访问性能做了特殊优化,承载着淘宝主站所有图片、商品描述等数据存储。

640x_fmt=jpeg

多浏览器兼容性测试整体解决方案 F2etest

F2etest 是一个面向前端、测试、产品等岗位的多浏览器兼容性测试整体解决方案。

http压力测试工具 httpsender

httpsender是一款轻量级的http压力测试工具,由淘宝的测试工程师用Java语言开发完成。它可以指定并发连接数发送指定数目的请求,还可以自定义请求的header头。请求的URL支持通过正则表达式指定范围,同时也支持从文件随机或顺序读取。它还具备验证数据是否完整和错乱等较高级的功能。默认应用环境为Linux。

淘蝌蚪开源平台 taocode

taocode(淘蝌蚪)是淘宝网推出的开源平台。平台本身也是开源的。

阿里Redis缓存服务器 AliRedis

AliRedis 是阿里巴巴运维团队基于 Redis 改造的缓存服务器,目前该项目尚未发布。

binlog的增量订阅&消费组件 canal

canal 是阿里巴巴mysql数据库binlog的增量订阅&消费组件。

移动自动化测试平台 Athrun

Storm 是一个类似Hadoop MapReduce的系统, 用户按照指定的接口实现一个任务,然后将这个任务递交给JStorm系统,Jstorm将这个任务跑起来,并且按7 * 24小时运行起来,一旦中间一个worker 发生意外故障, 调度器立即分配一个新的worker替换这个失效的worker。因此,从应用的角度,JStorm 应用是一种遵守某种编程规范的分布式应用。从系统角度, JStorm一套类似MapReduce的调度系统。从数据的角度, 是一套基于流水线的消息处理机制。实时计算现在是大数据领域中最火爆的一个方向,因为人们对数据的要求越来越高,实时性要求也越来越快,传统的Hadoop Map Reduce,逐渐满足不了需求,因此在这个领域需求不断。

分布式计算系统 JStorm

Storm 是一个类似Hadoop MapReduce的系统, 用户按照指定的接口实现一个任务,然后将这个任务递交给JStorm系统,Jstorm将这个任务跑起来,并且按7 * 24小时运行起来,一旦中间一个worker 发生意外故障, 调度器立即分配一个新的worker替换这个失效的worker。

因此,从应用的角度,JStorm 应用是一种遵守某种编程规范的分布式应用。从系统角度, JStorm一套类似MapReduce的调度系统。从数据的角度, 是一套基于流水线的消息处理机制。实时计算现在是大数据领域中最火爆的一个方向,因为人们对数据的要求越来越高,实时性要求也越来越快,传统的Hadoop Map Reduce,逐渐满足不了需求,因此在这个领域需求不断。

关系型数据的分布式处理系统 Cobar

Cobar是关系型数据的分布式处理系统,它可以在分布式的环境下像传统数据库一样为您提供海量数据服务。

640x_fmt=jpeg

在线分析查询系统 mdrill

mdrill是由阿里妈妈开源的一套数据的软件,针对TB级数据量,能够仅用10台机器,达到秒级响应,数据能实时导入,可以对任意的维度进行组合与过滤。

mdrill作为数据在线分析处理软件,可以在几秒到几十秒的时间,分析百亿级别的任意组合维度的数据。

淘宝定制JVM TaobaoJVM

淘宝有几万台Java应用服务器,上千名Java工程师、及上百个Java应用。为此,核心系统研发部专用计算组的工作之一是专注于OpenJDK的优化及定制,根据业务、应用特点及开发者需要,提供稳定,高效和深度定制的JVM版本:Taobao JVM。

接口文档管理工具 RAP

RAP通过GUI工具帮助WEB工程师更高效的管理接口文档,同时通过分析接口结构自动生成Mock数据、校验真实接口的正确性,使接口文档成为开发流程中的强依赖。有了结构化的API数据,RAP可以做的更多,而我们可以避免更多重复劳动。

640x_fmt=jpeg

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语言实现

640x_fmt=jpeg

640x_fmt=gif

喜欢就给个“在看” 

640x_fmt=gif

来源:androidstarjack

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年7月26日
下一篇 2019年7月26日

相关推荐