阿里 29 大开源项目看看你都用过哪些

用户头像
Bruce Duan
关注
发布于: 2020 年 05 月 04 日
阿里29大开源项目看看你都用过哪些

1. 分布式应用服务开发的一站式解决方案Spring Cloud Alibaba

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

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

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



2. 设计语言&前端框架Ant Design

Ant Design是蚂蚁金服开发和正在使用的一套企业级的前端设计语言和基于React的前端框架实现。

它的特性:企业级金融产品的交互语言和视觉体系;丰富实用的React UI组件;基于React的组件化开发模式;背靠npm生态圈;基于webpack的调试构建方案,支持ES6。

地址:https://github.com/ant-design/ant-design



3. JDBC连接池、监控组件Druid

Druid是一个JDBC组件。

1.监控数据库访问性能。

2.提供了一个高效、功能强大、可扩展性好的数据库连接池。

3.数据库密码加密。

4.SQL执行日志。

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



4. Java的JSON处理器fastjson

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

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

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



5. 服务框架Dubbo

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

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



6. 企业级流式计算引擎JStorm

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

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



7. apns4j

apns4j是Apple Push Notification Service的Java实现。

地址:https://github.com/teaey/apns4j



8. 数据驱动的高交互可视化图形语法AntV - G2

G2是一套基于可视化编码的图形语法,以数据驱动,具有高度的易用性和扩展性,用户无需关注各种繁琐的实现细节,一条语句即可构建出各种各样的可交互的统计图表。

同时,G2也是AntV最重要的组成,始于《The Grammar of Graphics》一书描述的视觉编码语法系统(这也是G2项目命名的由来)。

项目地址:https://github.com/antvis/g2



9. 前端构建和工程化工具Dawn

Dawn取「黎明、破晓」之意,原为「阿里云·业务运营团队」内部的前端构建和工程化工具,现已完全开源。

它通过pipeline和middleware将开发过程抽象为相对固定的阶段和有限的操作,简化并统一了开发人员的日常构建与开发相关的工作。

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



10. 分布式数据层TDDL

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

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



11. 轻量级分布式数据访问层CobarClient

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

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



12. 淘宝定制JVM:TaobaoJVM

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

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



13. Java图片处理类库SimpleImage

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

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



14. Redis的Java客户端Tedis

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

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



15. 开源Java诊断工具Arthas

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

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

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



16. 动态服务发现、配置和服务管理平台Nacos

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

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

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



17. Java解析Excel工具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



18. 高可用流量管理框架Sentinel

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

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

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



19. 基于多维度Metrics的系统度量和监控中间件SOFALookout

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

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

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

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



20. 基于Spring Boot的研发框架SOFABoot

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

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



21. 轻量级Java类隔离容器SOFAArk

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

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



22. 分布式链路追踪中间件SOFATracer

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

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



23. 高性能Java RPC框架SOFARPC

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

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



24. 基于Netty的网络通信框架SOFABolt

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

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

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

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



25. 动态非侵入AOP解决方案JVM-Sandbox

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

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



26. 面向云的分布式消息领域标准OpenMessaging

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

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



27. P2P文件分发系统Dragonfly

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

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

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



28. LayoutManager定制化布局方案vlayout

VirtualLayout是一个针对RecyclerView的LayoutManager扩展,主要提供一整套布局方案和布局间的组件复用的问题。

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



29. Java代码规约扫描插件P3C

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

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



用户头像

Bruce Duan

关注

做最好版本的自己 2020.05.01 加入

主要分享Java服务端相关的技术,欢迎关注!啥也不说了上代码开始撸。

评论 (2 条评论)

发布
用户头像
一些项目已经没有维护了
2020 年 05 月 08 日 09:14
回复
用户头像
3分之一都用过...
2020 年 05 月 06 日 15:28
回复
没有更多了
阿里29大开源项目看看你都用过哪些