Hi~你们好,第三期阿里开源技术汇总又和你们见面了!在这一期中咱们又给你们带来了20个项目的介绍,保证能让大家看得大呼过瘾。准备好了吗?如今就让咱们跟随云栖社区一块儿看看在这期的文章里出现的哪些新鲜刺激的开源项目吧!
1.Weex
【项目简介】
Weex是阿里近日在Qcon大会上宣布开源的一款跨平台移动开发工具。Weex不只可以完美兼顾性能与动态性,让移动开发者经过简捷的前端语法写出Native级别的性能体验,并且并支持iOS、安卓、YunOS及Web等多端部署。php
【架构图】

2.Apns4j
【项目简介】
apns4j 是 Apple Push Notification Service 的 Java 实现,目前1.0.1版已经发布。
【源码托管地址】 https://github.com/teaey/apns4j
html
3.BugFree
【项目简介】
BugFree 是一款借鉴微软公司软件研发理念、免费且开放源代码、基于Web的精简版Bug管理系统。BugFree基于PHP和MySQL开发,其服务器端在Linux和Windows平台上均可以运行;客户端也无需安装任何软件,经过IE,FireFox等浏览器就能够自由使用。使用这款软件,企业能够保证质量、控制进度,并使产品可持续发展。前端
【架构图】

4.TDDL
【项目简介】
TDDL(Taobao Distributed Data Layer),是淘宝根据本身的业务特色开发了框架,主要解决了分库分表对应用的透明化以及异构数据库之间的数据复制,它是一个基于集中式配置的 jdbc datasource实现,具备主备,读写分离,动态数据库配置等功能。它具备如下优势:
1.数据库主备和动态切换2.带权重的读写分离3.单线程读重试4.集中式数据源信息管理和动态变动5.剥离的稳定jboss数据源6.支持mysql和oracle数据库7.基于jdbc规范,很容易扩展支持实现jdbc规范的数据源8.无server,client-jar形式存在,应用直连数据库9.读写次数,并发度流程控制,动态变动10.可分析的日志打印,日志流控,动态变动。mysql
【架构图】

5.PHPWind
【项目简介】
PHPWind是阿里开发的一套论坛系统。它采用 php+mysql 数据库,运行并可生成 html 页面的全新且完善的强大系统。它具备网站统筹化、技术专业化、友好人性化三大特色,出色的访问速度和卓越的负载能力更令它深受国内外朋友的喜好。linux
6.TFS
【项目简介】
TFS(Taobao FileSystem)是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,其设计目标是支持海量的非结构化数据。目前,国内自主研发的文件系统可谓百里挑一。淘宝在这一领域作了有效的探索和实践,Taobao File System(TFS)做为淘宝内部使用的分布式文件系统,针对海量小文件的随机读写访问性能作了特殊优化,承载着淘宝主站全部图片、商品描述等数据存储。git
【架构图】

7.Webx
【项目简介】
Webx是创建在Java Servlet API基础上的通用WEB框架。用Webx搭建的应用能够运行在任何一个标准的WEB应用服务器上面:Tomcat、Jetty、Jboss、Weblogic。 Webx是基于经典MVC设计模式的WEB框架Spring,而且能够被其它组件扩展。Webx不只可以用来开发高度可定制的Web应用,也可以用来帮助用户开发高度可扩展的非WEB的应用。目前Webx在阿里巴巴集团内部被普遍使用。github
【架构图】

8.FourInOne
【项目简介】
FourInOne(中文名字“四不像”)是一个四合一分布式计算框架。它提供了四合一的分布式框架功能(即整合了Hadoop、Zookeeper、MQ、分布式缓存的主要功能)和简单易用的编程API,从而实现了对多台计算机CPU、内存、硬盘的统一利用,最终获取到强大计算能力去解决复杂问题。web
【架构图】

9.Uploader
【项目简介】
Uploader是一个很是强大的异步文件上传组件,支持ajax、iframe、flash三套方案,实现浏览器的全兼容,调用很是简单,内置多套主题支持 和经常使用插件,好比验证、图片预览、进度条等,普遍应用于淘宝网,好比退款系统、爱逛街、二手、拍卖、个人淘宝、卖家中心、导购中心等。ajax
【架构图】

10.DataX
【项目简介】
DataX 是阿里巴巴集团内被普遍使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、HDFS、Hive、OceanBase、HBase、OTS、ODPS 等各类异构数据源之间高效的数据同步功能。目前DataX在淘宝内部天天约有5000道同步任务分布在全天各个时段,平均天天同步数据量在2-3TB。正则表达式
【架构图】

11.Httpsender
【项目简介】
httpsender是一款轻量级的http压力测试工具,由淘宝的测试工程师用Java语言开发完成。它能够指定并发链接数发送指定数目的请求,还能够自定义请求的header头。请求的URL支持经过正则表达式指定范围,同时也支持从文件随机或顺序读取。它还具有验证数据是否完整和错乱等较高级的功能。默认应用环境为Linux。
12.CobarClient
【项目简介】
CobarClient是一个基于iBatis和Spring的轻量级分布式数据访问框架(DDAL)。它具备一些特色:主要特性:
①能够支持垂直和水平数据切分数据库集群的访问;
②支持双机热备的HA解决方案, 应用方能够根据状况选用数据库特定的HA解决方案(好比Oracle的RAC),或者选用CobarClient提供的HA解决方案.
③小数据量的数据集计(Aggregation), 暂时只支持简单的数据合并.
④数据库本地事务的支持, 目前采用Best Efforts 1PC模式的事务管理.
⑤数据访问操做相关SQL的记录, 分析等.(能够采用国际站现有Ark解决方案,但CobarClient提供扩展的切入接口)
【架构图】

13.F2etest
【项目简介】
F2etest是一个面向前端、测试、产品等岗位的多浏览器兼容性测试总体解决方案。经过在项目中采用开源的HTML5远程解决方案Guacamole、Server版Windows和跨浏览器、跨服务器的hosts共享技术hostsShare,F2etest最终实现了如下的功能:
①硬件利用率提升10倍以上,下降了企业运营成本
②提供极佳的用户体验,于是提升了测试效率
③提供真实浏览器环境,还原真实测试场景
【架构图】

14.AliRedis
【项目简介】
AliRedis是阿里团队针对Redis平常维护中出现的不足而在Redis原有基础上作出的深度改进。具体而言,AliRedis采用多线程master + N*work 工做模式,而且抛弃save, bgsave, aof等三种原有的模式.采用redisDB lock模式,除此以外,它还优化了jemalloc, 采用大内存页。
【架构图】

15.Canal
【项目简介】
Canal是纯Java开发的数据异地同步工具。它可以提供的基于日志增量订阅和消费支持的业务有:
①数据库镜像
②数据库实时备份
③多级索引 (卖家和买家各自分库索引)
④search build
⑤业务cache刷新
⑥价格变化等重要业务消息
目前Canal主要支持了mysql。
【架构图】

16.Taocode
【项目简介】
taocode(淘蝌蚪)是淘宝网推出的开源平台。它具备平台化和社区化两个特征。
1).平台化
a) 完善项目管理过程工具平台
b) 提供更多代码级工具
c) 提供更多文档化工具
2).社区化
a). 提供更好的交流平台
b). 增长更多的持续性生态化平台功能
【架构图】

17.JStorm
【项目简介】
Storm 是一个相似Hadoop MapReduce的系统。若是用户按照指定的接口实现一个任务,而后将这个任务递交给JStorm系统,Jstorm将这个任务跑起来,而且按7 * 24小时运行起来,一旦中间一个worker 发生意外故障, 调度器当即分配一个新的worker替换这个失效的worker。所以,从应用的角度,JStorm 应用是一种遵照某种编程规范的分布式应用。从系统角度, JStorm一套相似MapReduce的调度系统。 从数据的角度, 是一套基于流水线的消息处理机制。
【架构图】

18.Athrun
【项目简介】
Athrun以Mobile自动化为基础,以PC2Mobile为切入点,是淘宝Mobile测试平常工做必备的平台。目前Athrun支持:
①Android上的自动化测试,包括自动化测试框架,持续集成体系。覆盖率工具和自动录制回放工具,也在试用完善中。
②iOS上的自动化测试,包括注入式自动化框架AppFramework,和基于录制的非注入式自动化框架Athrun_IOS,还有持续集成体系。目前两个框架在淘宝测试内都有用户群,都还在不断使用和演进过程当中。AppFramework将会支持socket通讯方式。
19.Cobar
【项目简介】
Cobar是提供关系型数据库(MySQL)分布式服务的中间件,它可让传统的数据库获得良好的线性扩展,并看上去仍是一个数据库,对应用保持透明。自Cobar实际投入运用以来,它接管了3000+个MySQL数据库的schema,集群日处理在线SQL请求50亿次以上。
集群日处理在线数据流量TB级别以上,而且到目前为止,该产品在阿里巴巴稳定运行3年以上。
【架构图】

20.TaoLinux
【项目简介】
TaoLinux是淘宝团队基于淘宝多年服务器优化积累, 内核优化经验对Linux作出的改版。它默认安装tengine等服务 没有GUI界面 基于RHEL 6.2。