开发者社区> 范大脚脚> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

阿里巴巴开源技术体系

简介:
+关注继续查看

阿里巴巴开源技术体系

阿里巴巴为开源社区贡献了大量优秀的软件产品,这些开源软件经过了阿里亿万级流量的验证,性能和稳定性都值得信赖。 现在阿里的开源软件已经成为了一个生态,这里对应用较多的的开源产品进行简单整理,大家在技术选型时可以参考。

开发框架

移动开发框架 Weex

Weex是一款跨平台移动开发工具。Weex可以让移动开发者通过简捷的前端语法写出Native级别的性能体验,而且并支持iOS、安卓、YunOS及Web等多端部署,阿里已经将Weex项目捐赠给Apache基金会开始孵化。 Weex使用 Vue 作为上层框架,并遵循 W3C 标准实现了统一的 JSEngine 和 DOM API。

Weex 表面上是一个客户端技术,但实际上它串联起了从本地开发环境到云端部署和分发的整个链路。

 

前端开发框架 KISSY

KISSY 是一款跨终端、模块化、高性能、使用简单的 JavaScript 框架。除了完备的工具集合如 DOM、Event、Ajax、Anim 等,它还提供了经典的面向对象、动态加载、性能优化解决方案。作为一款全终端支持的 JavaScript 框架,KISSY 为移动终端做了大量适配和优化,使用户的程序在全终端均能流畅运行。

模块加载框架 SeaJS

Sea.JS 是一个遵循 CommonJS 规范的模块加载框架,可用来轻松愉悦地加载任意JavaScript模块。 SeaJS 支持的标准模块遵循 Modules/Wrappings 规范的 define 形式,可运行于 Web 浏览器以及 node.JS 等环境中。

Web开发框架 Webx

Webx是一套基于Java Servlet API的通用Web框架,在Alibaba集团内部被广泛使用。

 

整个Webx框架分成三个层次:

  1. SpringExt:基于Spring,提供扩展组件的能力。它是整个框架的基础。
  2. Webx Framework:基于Servlet API,提供基础的服务,例如:初始化Spring、初始化日志、接收请求、错误处理、开发模式等。 Webx Framework只和servlet及spring相关 —— 它不关心Web框架中常见的一些服务, 例如Action处理、表单处理、模板渲染等。 因此,事实上,你可以用Webx Framework来创建多种风格的Web框架。
  3. Webx Turbine:基于Webx Framework,实现具体的网页功能,例如:Action处理、表单处理、模板渲染等。

 

基础组件

Json解析 fastjson

Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景。

数据库连接池 Druid

Druid是一个JDBC组件,它包括三部分: 

  • DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系
  • DruidDataSource 高效可管理的数据库连接池
  • SQLParser 

数据库中间层 Taobao Distributed Data Layer

TDDL主要解决了分库分表对应用的透明化以及异构数据库之间的数据复制,它是一个基于集中式配置的 jdbc datasource实现,具有主备,读写分离,动态数据库配置等功能。

配置管理 Diamond

Diamond 一个提供持久配置的工具,支持各种持久信息(比如各种规则,数据库配置等)的发布和订阅,同类产品有百度的Disconf等。

虚拟机优化 TaobaoJVM

TaobaoJVM 基于 OpenJDK HotSpot VM,是国内第一个优化、定制且开源的服务器版Java虚拟机。目前已经在淘宝、天猫上线,全部替换了Oracle官方JVM版本,在性能,功能上都初步体现了它的价值。

定制Nginx Tengine

Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。

 

分布式组件

分布式服务框架 Dubbo

Dubbo 是一个分布式服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,以及SOA服务治理方案。 Dubbo是一个功能强大的服务治理方案。

分布式调度框架 Tbschedule

TBSchedule将调度作业从业务系统中分离出来,降低或者是消除和业务系统的耦合度,进行高效异步任务处理。目前被应用于阿里巴巴、淘宝、支付宝、京东、聚美、汽车之家、国美等很多互联网公司的流程调度系统。

 

消息中间件

高性能消息队列 Notify

Notify是一个消息中间件。应用程序或组件之间可以使用消息中间件进行可靠的异步通讯来降低系统之间的耦合度,从而提高整个系统的可扩展性和可用性。

Notify在设计思路上与传统的MQ有一定的不同,核心设计理念:

  • 为了消息堆积而设计系统
  • 无单点,可自由扩展的设计

分布式消息队列 RocketMQ

RocketMQ即阿里内部的MetaQ消息队列,是一款分布式、队列模型的消息中间件。分为Topic与Queue两种模式,Push和Pull两种方式消费,支持严格的消息顺序,亿级别的堆积能力,支持消息回溯和多个维度的消息查询。

RocketMQ借鉴了Kafka的思想,并结合互联网应用场景对性能的要求,对数据的存储结构进行了全新设计。在功能层面,增加了更适合大型互联网特色的功能点。

  • 能够保证严格的消息顺序
  • 提供丰富的消息拉取模式
  • 高效的订阅者水平扩展能力
  • 实时的消息订阅机制
  • 亿级消息堆积能力

两款消息中间件对比

  • Notify侧重于交易消息,分布式事务消息方面
  • MetaQ侧重于顺序消息场景,例如binlog同步。以及主动拉消息场景,例如流计算等

 

存储与数据处理

分布式缓存 Tair

Tair是一个高性能、分布式、可扩展、高可靠的Key-Value结构存储系统,专注于高速缓存场景。该项目诞生于淘宝,并在阿里巴巴集团内部大规模使用,是集团内调用量最大的系统之一。在多年的阿里巴巴“双十一”全球狂欢节上,为了承受数亿次的调用服务, Tair部署了将上百个集群,数千台的物理机,单节点QPS峰值近百万次,集群缓存命中率达90%以上,承担了天猫、淘宝、聚划算主站的大多数访问压力。

Taobao FileSystem

TFS是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,其设计目标是支持海量的非结构化数据。 Taobao File System(TFS)作为淘宝内部使用的分布式文件系统,针对海量小文件的随机读写访问性能做了特殊优化,承载着淘宝主站所有图片、商品描述等数据存储。

实时计算 JSTORM

JStorm 是一个类似Hadoop MapReduce的系统, 用户按照指定的接口实现一个任务,然后将这个任务递交给JStorm系统,Jstorm将这个任务跑起来,并且按7 * 24小时运行起来,一旦中间一个Worker 发生意外故障, 调度器立即分配一个新的Worker替换这个失效的Worker.JStorm是Storm的Java版本,使用Java重写的同时在其基础上进行了大幅度的改进与优化.与Hadoop对大数据进行离线全量处理相对应,JStorm主要做的是对大数据的实时增量计算与流式计算。

分布式数据库 OceanBase

OceanBase是一个支持海量数据的高性能分布式数据库系统,实现了数千亿条记录、数百TB数据上的跨行跨表事务,由淘宝核心系统研发部、运维、DBA、广告、应用研发等部门共同完成。



本文转自邴越博客园博客,原文链接:http://www.cnblogs.com/binyue/p/6953304.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里开源了14个核心技术,你了解哪些?
自从2011年宣布第一波开源项目以来,阿里技术人一直积极参与开源社区共建。开源项目数量每年都有所增长,目前阿里巴巴已经有150+个开源项目,其中数个项目 star 破万。相关的 GitHub 2017年数据统计显示,阿里巴巴是唯一一家入围 GitHub 顶尖贡献名单的中国公司。
14349 0
2017年阿里开源了14个核心技术,你了解哪些?
阿里妹导读:自从2011年宣布第一波开源项目以来,阿里技术人一直积极参与开源社区共建。开源项目数量每年都有所增长,目前阿里巴巴已经有150+个开源项目,其中数个项目 star 破万。相关的 GitHub 2017年数据统计显示,阿里巴巴是唯一一家入围 GitHub 顶尖贡献名单的中国公司。
955 0
如何构建云原生的开源大数据平台 | 微淼基于阿里云大数据生态的应用实践
随着开源技术与云原生的高度融合,阿里云开源大数据平台在功能性、易用性、安全性上积累了丰富的实践经验,已成功服务数千家企业,助力其聚焦自身核心业务优势,缩短开发周期、简化运维难度,拓展更多业务创新。10月29日,阿里云发布“如何构建云原生的开源大数据平台”解决方案,邀请到了来自阿里云、微淼、Inmobi的技术专家为大家现身说法,呈现上云实践。
0 0
阿里开源:思考,演进和发展
2016云栖大会·北京峰会于8月9号在国家会议中心拉开帷幕,在云栖社区开发者技术专场中,首位登场的阿里云技术专家唐容为大家带来来题为《阿里开源:思考,演进和发展》的精彩演讲。
5254 0
伯俊软件获得阿里云原生核心授牌伙伴认证,共建新生态
数字化转型并不是简单地开发技术产品,而是对企业理念、组织架构等全方位再造,是一场全新的考验。企业数字化转型之路道阻且长,需要专业且精耕的企业“手把手”帮扶。
0 0
从基础设施到云原生应用,全方位解读阿里云原生新锐开源项目
在 2020 年,阿里不仅实现了 双11 核心系统全面云原生化,一举成为全球规模最大、实力最硬核的云原生实践,并首次实现自研、开源、商业“三位一体”,以此为基础拉开了极具竞争力的云原生产品家族的序幕。为了让大家有更全面的认识,我们借此机会整理了阿里从应用层到中间件到基础设施三层立体结构的云原生新锐开源项目和技术能力。
0 0
阿里云中间件发展历程和开源现状
中间件已经发展多年,其目的主要为通过标准接口和协议解决异构网络环境下分布式应用软件互联和互操作问题。近几年,随着云原生技术的高速发展,云时代对中间件的定义又进行了扩充。2020 年由信通院牵头组织的云原生中间件白皮书对于云原生中间件又提出了 10 项新要求,主要分为底层资源、设计原则、运行时和呈现状态四个维度。阿里巴巴中间件已经有 15 年的发展历史,它与阿里业务一起成长,也是阿里巴巴云原生实践 15 年全程见证者。
0 0
关于阿里的开源战略,这里有你想知道的一切
作为国际顶级的互联网企业之一,随着开源逐渐成为全球IT 界和互联网界一致推崇的文化和战略,阿里巴巴在开源方面也一直秉持坚定而热忱的态度,积极地将其一些成熟或发展中的产品和技术以开源、开放的态度回馈到社区。那么阿里在开源这一方向上到底实力如何呢?请看本文分解。
6267 0
沸腾!阿里又开源了一项自研核心技术!
近日,阿里正式开源了基于 Apache 2.0 协议的容器技术 Pouch。Pouch 是一款轻量级的容器技术,拥有快速高效、可移植性高、资源占用少等特性,主要帮助阿里更快的做到内部业务的交付,同时提高超大规模下数据中心的物理资源利用率。
4422 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
阿里 开源发展与生态
立即下载
《阿里巴巴开源大数据平台演进之路》
立即下载
云原生体系在淘系的落地-GAIA研发平台的演进之路
立即下载