首页 > 编程知识 正文

阿里开源框架大全(阿里巴巴开源Jdk)

时间:2023-05-03 16:11:01 阅读:103775 作者:1583

受益于开源,就回馈。面对阿里头顶上“贡献开源软件第一号”的光环,我们清楚地明白阿里开源的目的:阿里开源不是在行业内“秀肌肉”,更不是吹嘘;阿里选择开源,是因为开源是孵化新技术领域的容器,也是技术进化的最大动力。

阿里巴巴集团已经开放了115个项目,加入了FSF基金会、阿帕奇基金会、Linux基金会和Xen的顾问团队,并在云起会议的北京峰会上宣布了AliSQL的开放。

阿里巴巴开源产品全向图

73款阿里巴巴开源产品的全方位地图详细如下:

一.框架

React网络:ReadtWEB是一个使用React Native兼容API构建的网络应用框架。React Web的目的和意义非常明确。让React Native代码在Web上运行,一组代码在每个移动终端上运行,对于前端和业务来说,都是开发效率的质的提升。jstrom:‘js torm是一个参考storm的实时流计算框架。它在网络IO、线程模型、资源调度、可用性和稳定性等方面不断提升,被越来越多的企业采用。经过四年的发展,阿里巴巴JStorm集群已经成为全球最大的集群之一,基于JStorm的应用超过1000个。数据显示,JStorm集群每天处理的消息数达到1.5PB。2015年,JStorm正式成为Apache Storm中的子项目。JStorm将在Apache Storm孵化,孵化成功后将成为Apache Storm的中坚力量。阿帕奇基金会官员表示,很高兴JStorm能够成为阿帕奇风暴社区的一员。”Dubbo:优秀的高性能服务框架,让应用通过高性能RPC实现服务的输出和输入功能,可以与Spring框架无缝集成。Duois是一个分布式、高性能的RPC框架,为具有服务导入/导出功能的应用程序提供动力。除了一整套工具如DOM、Event、Ajax、Anim等。它还提供经典的面向对象、动态加载和性能优化解决方案。作为所有终端都支持的JavaScript框架,KISSY为移动终端做了大量的适配和优化,让用户的程序在所有终端都能流畅运行。d expose :D expose是一个强大的非侵入式运行时AOP框架,用于Android应用程序开发。它基于在ROOT社区中公开的著名开源项目Xprobe的一些成果,并且已经发展成为服务于应用程序本身的AOP框架。目前支持阿里大部分应用的在线分钟级客户端bug修复和在线调试能力。Tddl: tddl(淘宝分布式数据层)是淘宝根据自身业务特点开发的框架,主要通过子数据库和子表解决应用的透明性以及异构数据库之间的数据复制。它是基于集中配置的jdbc数据源实现,具有主备、读写分离、动态数据库配置等功能。Webx:Webx是基于Java Servlet API的通用WEB框架。用WEBx构建的应用程序可以在任何标准的网络应用服务器上运行:Tomcat、Jetty、Jboss和Weblogic。Webx是基于经典MVC设计模式的WEB框架Spring,可以通过其他组件进行扩展。WEBx不仅可以用来开发高度可定制的Web应用程序,还可以帮助用户开发高度可扩展的非Web应用程序。Magix:Magix是一个用于构建大规模交互单页应用的前端MVC框架。Brix:Brix是基于KISSY(PC端)、Zepto、SeaJS等底层类库(移动端)的应用层组件框架。Canvax:Canvax是一个小巧便携的画布图形框架,它使用与Flash AS3相同的模式来抽象绘图元素。Plover:Plover是一个NodeJs MVC web框架,专注于以模块化的方式构建web应用程序。与其他web框架不同的是,它提供了完整的应用和模块化模型,使得复杂的业务功能可以很容易地抽象成多个模块进行独立开发,并使应用能够以叠加的方式组装模块。第二,组件

德鲁伊:德鲁伊是Java语言中最好的数据库连接池。Druid可以提供强大的监控和扩展功能。Fast JSON: Fast JSON是一个用Java语言实现的JSON解析器和生成器,性能很好。macaroun:macaroun是一个高效的反向代理测试套件。测试框架本身是基于python2.7开发的,便于跨平台移植。测试示例使用格式化描述来实现编程语言独立性。Macaroon可用于构建测试场景,重构在线故障案例,轻松快速地测试被测软件(DUT)的功能、模块和协议一致性。Uploader:Uploader是一个非常强大的异步文件上传组件,支持ajax、iframe和flash方案,实现了浏览器的完全兼容,调用非常简单,内置了主题支持和常用插件,比如验证、图片预览、进度条等。阿里JVM基于开放。

JDK HotSpot VM,是国内第一个优化、定制且开源的服务器版Java虚拟机。目前已经在淘宝、天猫上线,全部替换了Oracle官方JVM版本,在性能,功能上都初步体现了它的价值。 " KCharts:KCharts是基于Svg的图表组件库,兼容IE6+等主流浏览器。基于淘宝js框架KISSY的图表组件库,包含折线图、曲线图、柱状图、散点图、饼图、地图等常用图表。nginx-tfs :nginx-tfs 是 Nginx 的扩展模块用于访问淘宝的 TFS 文件系统。transmittable-thread-local:transmittable-thread-local是阿里用Java开发的用于多线程的的组件。nginx-http-sysguard:nginx-http-sysguard 是阿里巴巴开发的一个 Nginx 模块,用来保护运行 Nginx 服务器的系统负载和内存使用不会太高java-dns-cache-manipulator:用编码的方式设置/查看JVM的DNS(实际上设置的是DNS Cache),支持JDK 6+,支持IPv6。

三、引擎

Velocity.js:Velocity.js是一个基于velocity模板语法的javascript实现。它具有支持客户端和服务器端使用、支持Node.js环境、支持Vim语法等功能,具备富逻辑语法、语法分析和模板渲染分离等特点。Qlexpress:Quick Laconic Express 高效简洁的类java语法动态脚本引擎SimpleEL:Simple EL是一个表达式解析引擎。它将表达式解析分成四个部分:预处理、编译、缓存和执行。这四个步骤任意一部分都可以替换,类似设计模式中的Template Method。xtemplate:xtemplate 是独立的富逻辑模板引擎,基于浏览器和 Node.js 的可扩展的模板引擎库。nQuery:nQuery 引擎是来自阿里的数据中间层,主要为应对大数据场景的在线查询的三大难题:长数据、宽数据、杂数据, 广泛参考 Big Query、Impala、 PL/SQL、MySQL 、PgSQL、ql.io 等,结合自身业务特点,自行精心 设计、实现的一套类SQL 语言(nSQL)及解析、执行引擎Min-velocity:min-velocity 是一个专为代码生成而定制的简化 velocity 模板引擎。它的目标是以 velocity 1.7 为基础, 裁剪出适合用作代码生成的模板引擎。

四、数据库/存储

AliSQL:AliSQL 是基于 MySQL 官方版本的一个分支,由阿里云数据库团队维护,目前也应用于阿里巴巴集团业务以及阿里云数据库服务。该版本在 MySQL 社区版的基础上做了大量的性能与功能的优化改进。尤其适合电商、云计算以及金融等行业环境。AliSQL 版本在强度和广度上都经历了极大的考验。最新的 AliSQL 版本不仅从其他开源分支比如:Percona,MariaDB,WebScaleSQL 等社区汲取精华,也沉淀了阿里巴巴多年在 MySQL 领域的经验和解决方案。AliSQL 增加更多监控指标,并针对电商秒杀、物联网大数据压缩、金融数据安全等场景提供个性化的解决方案。“在通用基准测试场景下,AliSQL 版本比 MySQL 官方版本有着 70% 的性能提升。在秒杀场景下,性能提升 100 倍。”OceanBase :OceanBase是一个支持海量数据的高性能分布式数据库系统,实现了数千亿条记录、数百TB数据上的跨行跨表事务,由淘宝核心系统研发部、运维、DBA、广告、应用研发等部门共同完成。Tair:Tair是由淘宝网自主开发的Key/Value结构数据存储系统,在淘宝网有着大规模的应用。TFS:TFS(Taobao FileSystem)是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,其设计目标是支持海量的非结构化数据。目前,国内自主研发的文件系统可谓凤毛麟角。淘宝在这一领域做了有效的探索和实践,Taobao File System(TFS)作为淘宝内部使用的分布式文件系统,针对海量小文件的随机读写访问性能做了特殊优化。 AliRedis(计划开源):AliRedis是阿里团队针对Redis日常维护中出现的不足而在Redis原有基础上做出的深度改进。具体而言,AliRedis采用多线程master + N*work 工作模式,并且抛弃save, bgsave, aof等三种原有的模式.采用redisDB lock模式,除此之外,它还优化了jemalloc, 采用大内存页。Wasp:Wasp 是类Google MegaStore & F1的分布式关系数据库。它是分布式的、支持SQL的、事务型数据库。ADFS:ADFS(Ali Distributed File System)是基于hadoop开源分布式系统HDFS的一种优化 实现,能够将HDFS中单点master namenode节点中的内存数据结构利用高速存储介质同步到磁盘中,同时能够提供很高的吞吐和性能 。

五、平台/系统

Zeus:宙斯是一个完整的Hadoop的作业平台 从Hadoop任务的调试运行到生产任务的周期调度 宙斯支持任务的整个生命周期。DataX:DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、HDFS、Hive、OceanBase、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。Reliable :Reliable 是由 Macaca 团队的成员开发的分布式架构的持续集成系统。它是用Node.js和Javascript编写的,并且使用MongoDD作为数据源、Redis作为缓存,Docker作为运行环境,具有集群负载,合理调配、提供插件机制,易扩展、部署非常简单、便于接入 Gitlab和Github社区化系统、与 Macaca 无缝融合等特点,因而适用于集成构建、集成构建等场景。Toast:TOAST(Toast Open Automation System for Test) 是一淘广告技术测试团队开发的一套自动化测试任务调度平台。cnpmjs:CNPM是阿里巴巴开发的一个私有npm 仓库和web服务ruby.taobao.org:RubyGems Mirror Web pageali_kernel:在 RHEL6 source codes 基础上做的更新,以及一些新功能加入。

六、解决方案:

Hilo:一套HTML5跨终端的互动游戏解决方案。Hilo支持了多届淘宝&天猫狂欢城等双十一大型和日常营销活动。内核极简,提供包括DOM,Canvas,Flash,WebGL等多种渲染方案,满足全终端和性能要求。支持多种模块范式的包装版本以及开放的扩展方式,方便接入和扩展。提供对2D物理,骨骼动画的内建和扩展支持。Weex:移动端高性能动态化,跨平台移动开发解决方案,A framework for building Mobile cross-platform UI Macaca:Macaca是一套完整的自动化测试解决方案,它的特性包括支持移动端和PC端、支持Native,Hybrid,H5等多种应用类型和提供客户端工具和持续集成服务。F2etest:F2etest是一个面向前端、测试、产品等岗位的多浏览器兼容性测试整体解决方案。F2e test = Front to End Test = 前端测试LuaView:LuaView 是一种运行在一个 ViewController/Activity 中,可以灵活加载Lua 脚本,并能够按照 Native 的方式运行的一种面向业务的开发技术方案。Cube:Cube 是一套跨终端、响应式、低设计耦合的CSS解决方案。包含全新基础重置、布局、按钮、工具类、字体图标等相对独立的模块。BeeHive:BeeHive是用于iOS的App模块化编程的框架实现方案,吸收了Spring框架Service的理念来实现模块间的API耦合。

七、工具

Tsar Tsar:是淘宝的采集工具,主要用来收集服务器的系统信息(如cpu,io,mem,tcp等)以及应用数据(如squid haproxy nginx等),tsar支持实时查看和历史查看,方便了解应用和服务器的信息!yugong:阿里巴巴去Oracle数据迁移同步工具(全量+增量,目标支持MySQL/DRDS)AndFix:AndFix,全称“Andriod hot-fix”,是阿里开源的 Android 应用热修复工具,用来帮助 Android 开发者修复应用的线上问题。AndFix实现原理是方法体的替换,目前支持的平台有Android 2.3 - 6.0,ARM 和 x86 架构,dalvik 运行时和 art 运行时。tblive:tblive开源项目对应的产品是千牛主播,是一个独立的PC端主播工具,基于开源软件OBS Studio来修改定制,增强了交互和功能上的可用性,同时引入统一登陆sdk(UnifiedAuthSDK.dll),可以支持淘宝账号的验证以及免登url的拼接,能更好的支持淘系webview页面。canal:阿里巴巴mysql数据库binlog的增量订阅&消费组件RAP :是通过GUI工具帮助WEB工程师更高效的管理接口文档的工具。它在管理的同时通过分析接口结构自动生成Mock数据、校验真实接口的正确性,使接口文档成为开发流程中的强依赖。正因为有了结构化的API数据,RAP可以为使用者做更多地事,从而避免更多重复劳动。 tclip:自动头像识别的图片裁剪项目TProfiler:TProfiler是一个可以在生产环境长期使用的性能分析工具.它同时支持剖析和采样两种方式,记录方法执行的时间和次数,生成方法热点 对象创建热点 线程状态分析等数据,为查找系统性能瓶颈提供数据支持.Tao-ReviewBoard:Tao-ReviewBoard是淘宝开发的基于eclipse的reviewboard插件,能很好的解决安装和使用的问题。Mock.js:Mock.js 是一款模拟数据生成器,旨在帮助前端攻城师独立于后端进行开发,帮助编写单元测试。Flex GateWay :Flex GateWay 提供了 VPN、SNAT 基础服务。Sqlautoreview:淘宝开源的SQLautoReview是一个SQL自动化审核的程序ossfs:ossfs 是用Perl语言写的基于 aliyun OSS 的 fuse 客户端。它能够让用户在Linux/Mac OS X 系统中把Aliyun OSS bucket 挂载到本地文件 系统中,使用户能够便捷地通过本地文件系统操作OSS 上的对象,实现数据的共享。 " Darko:Darko 是阿里妈妈的 THX 团队编写的一个站点生成工具,与 Jekyll 兼容,在不便安装 Jekyll 的平台上,可以试试 Darko。Asyncload:Asyncload是一款异步并行加载工具(依赖字节码技术)。用于常用的IO需求DragonBonesJS:DragonBonesJS是DragonBones的JS版本,是DragonBones的改进版。而DragonBones是Adobe支持的一个开源项目,用于制作和播放骨骼动画 otter:阿里巴巴分布式数据库同步系统(解决中美异地机房)Freeline:Freeline是蚂蚁聚宝团队在Android平台上的量身定做的一个增量开发的工具,支持mPaas。uirecorder:UI 测试用例录制工具

八、中间件

RocketMQ:"消息队列(Message Queue,简称MQ)是阿里云商用的专业消息中间件,是企业级互联网架构的核心产品,基于高可用分布式集群技术,搭建了包括发布订阅、消息轨迹、资源统计、定时(延时)、监控报警等一套完整的消息云服务。RocketMQ:是MQ的开源版本"Cobar:Cobar是提供关系型数据库(MySQL)分布式服务的中间件,它可以让传统的数据库得到良好的线性扩展,并看上去还是一个数据库,对应用保持透明。Tbschedule:一种异步任务处理系统,目的是用来可以提高用户体验,以及增大系统的可扩转性,正因为它的种种优势和特性,Tbschedule得到大量的应用。

九、Web Server

Tengine:Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性,是目前全球9 大流行web server之一。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。 AnyProxy:AnyProxy 是一个基于 Node.js 的代理服务器。代理服务器是个中间人,站在了客户端和服务端中间,双方通信的每个比特,都会滴水不漏地经过它。它控制了完整的请求头、请求体、响应头、响应体,可以在客户端与服务端都无感知的情况下介入处理所有的流程。

十、设计

Ant-design:Ant Design 是一个致力于提升『用户』和『设计者』使用体验的中台设计语言。它模糊了产品经理、交互设计师、视觉设计师、前端工程师、开发工程师等角色边界,将进行 UE 设计和 UI 设计人员统称为『设计者』,利用统一的规范进行设计赋能,全面提高中台产品体验和研发效率。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。