阿里最近发布的项目(盘点阿里巴巴33个牛逼的开源项目)(1)

本文地址:https://yq.aliyun.com/articles/676140

大家知道阿里巴巴为 Apache 基金会贡献了好几个顶级开源项目,最为大家熟知的莫过于 Dubbo 和 RocketMQ 了,除了这些之外,Spring Cloud Alibaba,fastjson,druid,TFS 等等都是非常知名也为大家所常用的开源组件,今天就来和大家盘点一下。

Spring Cloud Alibaba

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

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

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

Druid

Druid 是一个 JDBC 组件。

它可以:

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

fastjson

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

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

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

Dubbo

Apache Dubbo (incubating) 是阿里巴巴的一款高性能、轻量级的开源 Java RPC 框架,它提供了三大核心能力:

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

JStorm

JStorm 是参考 Apache Storm 实现的实时流式计算框架,在网络 IO、线程模型、资源调度、可用性及稳定性上做了持续改进,已被越来越多企业使用。JStorm 可以看作是 storm 的 java 增强版本,除了内核用纯 java 实现外,还包括了thrift、python、facet ui。从架构上看,其本质是一个基于 zk 的分布式调度系统。

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

TDDL

TDDL 是一个基于集中式配置的 jdbc datasource 实现,具有主备,读写分离,动态数据库配置等功能。

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

CobarClient

Cobar Client 是一个轻量级分布式数据访问层(DAL)基于 iBatis (已更名为 MyBatis )和 Spring 框架实现。

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

TaobaoJVM

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

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

SimpleImage

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

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

Tedis

Tedis 是另一个 redis 的 java 客户端。Tedis 的目标是打造一个可在生产环境直接使用的高可用 Redis 解决方案。

地址:https://github.com/justified/tedis

Arthas

Arthas(阿尔萨斯)是阿里巴巴开源的 Java 诊断工具,深受开发者喜爱。

Arthas 采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。

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

Nacos

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您实现动态服务发现、服务配置管理、服务及流量管理。关于 Nacos 的使用教程可以参考

是时候了解下 nacos 了!

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

地址:https://nacos.io/en-us/

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

Sentinel

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

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

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

SOFALookout

Lookout 是一个利用多维度的 metrics 对目标系统进行度量和监控的项目。Lookout 的多维度 metrics 参考 Metrics 2.0 标准。Lookout 项目分为客户端部分与服务器端部分。

客户端是一个 Java 的类库,可以将它植入您的应用代码中采集 metrics 信息,客户端更多详情。

服务端代码部分,将于下一版本提供。通过 LOOKOUT 的服务,可以对 metrics 数据进行收集、加工、存储和查询等处理,另外结合 grafana,可做数据可视化展示。

地址:https://github.com/alipay/sofa-lookout

SOFABoot

SOFABoot 是蚂蚁金服开源的基于 Spring Boot 的研发框架,它在 Spring Boot 的基础上,提供了诸如 Readiness Check,类隔离,日志空间隔离等等能力。在增强了 Spring Boot 的同时,SOFABoot 提供了让用户可以在 Spring Boot 中非常方便地使用 SOFAStack 相关中间件的能力。

地址:https://github.com/alipay/sofa-boot

SOFAArk

SOFAArk 是一款基于 Java 实现的轻量级类隔离容器,由蚂蚁金服公司开源贡献;主要为应用程序提供类隔离和依赖包隔离的能力;基于 Fat Jar 技术,应用可以被打包成一个自包含可运行的 Fat Jar,应用既可以是简单的单模块 Java 应用也可以是 Spring Boot 应用。可访问网址进入快速开始并获取更多详细信息。

地址:https://alipay.github.io/sofastack.github.io/

SOFATracer

SOFATracer 是一个用于分布式系统调用跟踪的组件,通过统一的 traceId 将调用链路中的各种网络调用情况以日志的方式记录下来,以达到透视化网络调用的目的。这些日志可用于故障的快速发现,服务治理等。

地址:https://github.com/alipay/sofa-tracer

SOFARPC

SOFARPC 是一个高可扩展性、高性能、生产级的 Java RPC 框架。在蚂蚁金服 SOFARPC 已经经历了十多年及五代版本的发展。SOFARPC 致力于简化应用之间的 RPC 调用,为应用提供方便透明、稳定高效的点对点远程服务调用方案。为了用户和开发者方便的进行功能扩展,SOFARPC 提供了丰富的模型抽象和可扩展接口,包括过滤器、路由、负载均衡等等。同时围绕 SOFARPC 框架及其周边组件提供丰富的微服务治理方案。

地址:https://github.com/alipay/sofa-rpc

SOFABolt

SOFABolt 是蚂蚁金融服务集团开发的一套基于 Netty 实现的网络通信框架。

为了让 Java 程序员能将更多的精力放在基于网络通信的业务逻辑实现上,而不是过多的纠结于网络底层 NIO 的实现以及处理难以调试的网络问题,Netty 应运而生。

为了让中间件开发者能将更多的精力放在产品功能特性实现上,而不是重复地一遍遍制造通信框架的轮子,SOFABolt 应运而生。

地址:https://github.com/alipay/sofa-bolt

JVM-Sandbox

JVM-Sandbox,JVM 沙箱容器,一种基于 JVM 的非侵入式运行期 AOP 解决方案。

地址:https://github.com/alibaba/jvm-sandbox

OpenMessaging

OpenMessaging 是由阿里巴巴发起,与雅虎、滴滴出行、Streamlio 公司共同参与创立,旨在创立厂商无关、平台无关的分布式消息及流处理领域的应用开发标准。

地址:https://github.com/openmessaging/openmessaging-java

Dragonfly

Dragonfly(蜻蜓)是阿里自研的 P2P 文件分发系统,用于解决大规模文件分发场景下分发耗时、成功率低、带宽浪费等难题。大幅提升发布部署、数据预热、大规模容器镜像分发等业务能力。

开源版的 Dragonfly 可用于 P2P 文件分发、容器镜像分发、局部限速、磁盘容量预检等。它支持多种容器技术,对容器本身无需做任何改造,镜像分发比 natvie 方式提速可高达 57 倍,Registry 网络出流量降低99.5%以上。

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

P3C 插件

Java 代码规约扫描插件 P3C,项目包含三部分:PMD 实现、IntelliJ IDEA 插件、Eclipse 插件

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

OceanBase

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

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

otter

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

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

Cobar

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

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

FastDFS

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

地址:https://github.com/happyfish100/fastdfs

Apache RocketMQ

RocketMQ 是一款分布式、队列模型的消息中间件,具有以下特点:

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

Tair

Tair 是一个 Key/Value 结构数据的解决方案,它默认支持基于内存和文件的两种存储方式,分别和我们通常所说的缓存和持久化存储对应。

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

Tengine

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

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

TFS

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

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

TBSchedule

tbschedule 是一个简洁的分布式任务调度引擎,目的是让一种批量任务或者不断变化的任务,能够被动态的分配到多个主机的JVM中,不同的线程组中并行执行。所有的任务能够被不重复,不遗漏的快速处理。

地址:https://github.com/taobao/TBSchedule

阿里最近发布的项目(盘点阿里巴巴33个牛逼的开源项目)(2)

阿里最近发布的项目(盘点阿里巴巴33个牛逼的开源项目)(3)

1、

说出来你可能不信,Spring Boot 中 Session 共享不超过 5 行代码!

2、

40 篇原创干货,带你进入 Spring Boot 殿堂!

3、

IDEA 神器入坑指南!17 个常用快捷键奉上!

4、

Spring Boot 中的同一个 Bug,竟然把我坑了两次!

5、

Spring Boot 支持 Https 有那么难吗?

6、

一个野生程序员的自我修养

7、

干货 | 鸟瞰 MySQL,唬住面试官!

8、

Spring Boot 修改静态资源一定要重启项目才会生效吗?未必!

9、

Spring Boot 跨域,JSONP 太 low,试试 CORS 怎么样?

阿里最近发布的项目(盘点阿里巴巴33个牛逼的开源项目)(4)

喜欢就点个"在看"呗^_^

,