Fastjson

fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器。

快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson);强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum);零依赖(没有依赖其它任何类库除了JDK)。

地址:https://github.com/alibaba/fastjson

Druid

Druid 是 Java 语言下的数据库连接池,数据库密码加密,SQL执行日志,它能够提供强大的监控和扩展功能。

地址:https://github.com/alibaba/druid

Dubbo

Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。

  • Provider 暴露服务方称之为“服务提供者”。
  • Consumer 调用远程服务方称之为“服务消费者”。
  • Registry 服务注册与发现的中心目录服务称之为“服务注册中心”。
  • Monitor 统计服务的调用次数和调用时间的日志服务称之为“服务监控中心”。

地址:https://github.com/apache/dubbo

Spring Cloud Alibaba

Spring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。

地址:https://github.com/alibaba/spring-cloud-alibaba

Cobar

Cobar是提供关系型数据库(MySQL)分布式服务的中间件,它可以让传统的数据库得到良好的线性扩展,并看上去还是一个数据库,对应用保持透明。

地址:https://github.com/alibaba/cobar

TDDL

TDDL (Taobao Distributed Data Layer)是一套分布式数据访问引擎,具有主备,读写分离,动态数据库配置等功能。

三层架构(可独立使用):

  • Matrix(TDataSource)实现分库分表逻辑,持有多个Group实例;
  • Group(TGroupDataSource)实现数据库的主备切换,读写分离逻辑,持有多个Atom实例;
  • Atom(TAtomDataSource)实现数据库ip,port,password,connectionProperties等信息的动态推送,持有原子的数据源(分离的Jboss数据源)。

地址:https://github.com/alibaba/tb_tddl

RocketMQ

RocketMQ是一款分布式、队列模型的消息中间件,是阿里巴巴集团自主研发的消息中间件,借鉴参考了JMS规范的MQ实现,更参考了优秀的开源消息中间件KAFKA,实现了业务消峰、分布式事务的优秀框架。其底层代码编写清晰优秀,采用Netty NIO框架进行数据通信。摒弃了Zookeeper,内部使用更轻量级的NameServer进行网络路由,提高服务性能,并且支持消息失败重试机制。天然支持集群模型,消费者负载均衡、水平扩展能力,支持广播模式和集群模式。采用零拷贝的原理、顺序写盘、支持亿级消息堆积能力。提供丰富的消息机制,如顺序消息、事务消息等。

地址:http://rocketmq.apache.org/

Tbschedule

TBSchedule是一个支持分布式的调度框架,让批量任务或者不断变化的任务能够被动态的分配到多个主机的JVM中,在不同的线程组中并行执行,所有的任务能够被不重复,不遗漏的快速处理。基于ZooKeeper的纯Java实现,由Alibaba开源。

地址:https://blog.csdn.net/yangxiaobo118/article/details/79229694

JStorm

JStorm是一个基于ZK的分布式实时计算引擎。JStorm是一个类似于Hadoop MapReduce的系统,用户按照指定的接口实现一个任务,然后将这个任务交给JStorm系统,JStorm将这个任务跑起来,并按7*24小时运行。如果中间一个worker发生了意外故障,调度器立即分配一个新的worker来替换这个失效的worker。

地址:https://github.com/alibaba/jstorm

Nacos

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

地址:https://github.com/alibaba/nacos

Seata

Simple Extensible Autonomous Transaction Architecture,简易可扩展的自治式分布式事务管理框架,其前身是fescar。阿里巴巴GTS的开源版实现,是一种分布式事务的解决方案。

seata主要由三个重要组件组成:

  • Transaction Coordinator(TC):管理全局的分支事务的状态,用于全局性事务的提交和回滚。
  • Transaction Manager™:事务管理器,用于开启全局事务、提交或者回滚全局事务,是全局事务的开启者。
  • Resource Manager(RM):资源管理器,用于分支事务上的资源管理,向TC注册分支事务,上报分支事务的状态,接受TC的命令来提交或者回滚分支事务。

地址:https://github.com/seata/seata

Sentinel

Sentinel 是面向微服务的轻量级流量控制框架,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

只要通过 Sentinel API 定义的代码,就是资源,能够被 Sentinel 保护起来。大部分情况下,可以使用方法签名,URL,甚至服务名称作为资源名来标示资源。

地址:https://github.com/alibaba/Sentinel

yugong

阿里巴巴去Oracle数据迁移同步工具(全量+增量,目标支持MySQL/DRDS)。

过程描述:

  • 增量数据收集 (创建oracle表的增量物化视图)
  • 进行全量复制
  • 进行增量复制 (可并行进行数据校验)
  • 原库停写,切到新库

地址:https://github.com/alibaba/yugong

canal

canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL(也支持mariaDB)

基于日志增量订阅&消费支持的业务:

  • 数据库镜像
  • 数据库实时备份
  • 多级索引 (卖家和买家各自分库索引)
  • search build
  • 业务cache刷新
  • 价格变化等重要业务消息

地址:https://github.com/alibaba/canal

otter

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

地址:https://github.com/alibaba/otter

AliSQL

AliSQL 是基于 MySQL 官方版本的一个分支,由阿里云数据库团队维护,目前也应用于阿里巴巴集团业务以及阿里云数据库服务。该版本在 MySQL 社区版的基础上做了大量的性能与功能的优化改进。尤其适合电商、云计算以及金融等行业环境。AliSQL 版本在强度和广度上都经历了极大的考验。最新的 AliSQL 版本不仅从其他开源分支比如:Percona,MariaDB,WebScaleSQL 等社区汲取精华,也沉淀了阿里巴巴多年在 MySQL 领域的经验和解决方案。AliSQL 增加更多监控指标,并针对电商秒杀、物联网大数据压缩、金融数据安全等场景提供个性化的解决方案。“在通用基准测试场景下,AliSQL 版本比 MySQL 官方版本有着 70% 的性能提升。在秒杀场景下,性能提升 100 倍。”

地址:https://github.com/alibaba/AliSQL

OceanBase

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

地址:https://oceanbase.alipay.com/

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节点中的内存数据结构利用高速存储介质同步到磁盘中,同时能够提供很高的吞吐和性能。

QLExpress

由阿里的电商业务规则、表达式(布尔组合)、特殊数学公式计算(高精度)、语法分析、脚本二次定制等强需求而设计的一门动态脚本引擎解析工具。 在阿里集团有很强的影响力,同时为了自身不断优化、发扬开源贡献精神,于2012年开源。

地址:https://github.com/alibaba/QLExpress

Arthas

Arthas是一款线上问题诊断工具。使用场景:

  • 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
  • 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
  • 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
  • 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
  • 是否有一个全局视角来查看系统的运行状况?
  • 有什么办法可以监控到JVM的实时运行状态?

地址:https://github.com/alibaba/arthas

EasyExcel

Java 解析、生成 Excel 比较有名的框架有 Apache poi、jxl 。但他们都存在一个严重的问题就是非常的耗内存,poi 有一套 SAX 模式的 API 可以一定程度的解决一些内存溢出的问题,但 POI 还是有一些缺陷,比如 07 版 Excel 解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel 重写了 poi 对 07 版 Excel 的解析,能够原本一个 3M 的 excel 用 POI sax 依然需要 100M 左右内存降低到 KB 级别,并且再大的 excel 不会出现内存溢出,03 版依赖 POI 的 sax 模式。在上层做了模型转换的封装,让使用者更加简单方便。

地址:https://github.com/alibaba/easyexcel

P3C

项目包含三部分:PMD 实现、IntelliJ IDEA 插件、Eclipse 插件

地址:https://github.com/alibaba/p3c

Uploader

Uploader是非常强大的异步文件上传组件,支持ajax、iframe、flash三套方案,实现浏览器的全兼容,调用非常简单,内置多套主题支持 和常用插件,比如验证、图片预览、进度条等,广泛应用于淘宝网,比如退款系统、爱逛街、二手、拍卖、我的淘宝、卖家中心、导购中心等。

地址:https://github.com/kissygalleryteam/uploader

DataX

DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。

地址:https://github.com/alibaba/DataX

Dragonwell

Alibaba Dragonwell 是阿里巴巴内部OpenJDK定制版AJDK的开源版本, AJDK为在线电商,金融,物流做了结合业务场景的优化,运行在超大规模的,100,000+ 服务器的阿里巴巴数据中心。 Alibaba Dragonwell与Java SE标准兼容,目前仅支持 Linux/x86_64平台。

地址:https://github.com/alibaba/dragonwell8

Tsar

Tsar是淘宝的一个用来收集服务器系统和应用信息的采集报告工具,如收集服务器的系统信息(cpu,mem等),以及应用数据(nginx、swift等),收集到的数据存储在服务器磁盘上,可以随时查询历史信息,也可以将数据发送到nagios报警。

Tsar能够比较方便的增加模块,只需要按照tsar的要求编写数据的采集函数和展现函数,就可以把自定义的模块加入到tsar中。

地址:https://github.com/alibaba/tsar

Tengine

Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性,是目前全球9 大流行web server之一。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

地址:http://tengine.taobao.org/

AnyProxy

AnyProxy是阿里巴巴基于 Node.js 开发的一款开源代理服务器。

代理服务器位于客户端和服务端的中间,它可以收集双方通信的每个bit。一个完整的代理请求过程为:客户端首先与代理服务器创建连接,接着根据代理服务所使用的代理协议,请求对目标服务器创建连接或者获取目标服务器的指定资源。一些代理协议允许代理服务器改变客户端的原始请求、目标服务器的原始响应。

AnyProxy 是完全可以灵活配置的代理服务器。它支持 https明文代理 ,且提供了 Web 界面便于观测请求情况,同时支持二次开发,可以用 JavaScript 来控制代理的全部流程,搭建前端个性化调试环境。

地址:https://github.com/alibaba/anyproxy

Freeline

Android 平台上的秒级编译工具,可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设备上,有效地减少了日常开发中的大量重新编译与安装的耗时。Freeline 最快捷的使用方法就是直接安装 Android Studio 插件。

地址:https://github.com/alibaba/freeline

SimpleImage

SimpleImage是阿里巴巴的一个Java图片处理的类库,可以实现图片缩略、水印等处理。

地址:https://github.com/alibaba/simpleimage

tclip

自动识别头像的图片裁剪项目。

特点:

  • 能进行人脸识别。图片中有人脸,将自动视为人脸区域为重要区域,将不会被裁剪掉。
  • 自动识别其它重要区域。如果图片中未识别出人脸,则会根据特征分布计算出重区域。 总而言之,自动识别图片中的重要区域,并且在图片裁剪时保留重要区域。
  • 加水印。

地址:https://github.com/exinnet/tclip

ice

飞冰(ICE)诞生于阿里巴巴内部大量的中后台业务,我们在中后台场景沉淀了大量的物料、工具及经验,同时也抽象出一套从物料到项目的完整开发流程。

特性: