Some worthy collection of open-source framework

Read this article takes about 7.2 minutes.

Source: segmentfault.com/a/1190000017346799

 

Stop solution for distributed application services developed 1. Spring Cloud Alibaba

Spring Cloud Alibaba is committed to providing a one-stop solution for distributed application development services.

This project contains the necessary components to develop distributed applications and services, to facilitate developers to easily use these components to develop distributed applications by Spring Cloud service programming model.

Relying Spring Cloud Alibaba, you only need to add some notes and a small amount of configuration, you can Spring Cloud application access solutions for distributed applications Ali, through Ali middleware to quickly build distributed applications.

Address: https: //github.com/spring-cloud-incubator/spring-cloud-alibaba

 

2. The design language front-end framework Ant Design &

 

 

Ant Design ants gold dress and being used to develop an enterprise-class front-end design and implement language-based front-end framework of React.

It features: enterprise-class financial products and interactive visual language system; a wealth of practical React UI components; component-based development model based on the React; npm backed ecosystem; construction scheme based debugging webpack to support ES6.

Address: https: //github.com/ant-design/ant-design

 

3. JDBC connection pool, the monitoring component Druid

Druid is a JDBC component.

1. Monitoring database access performance.

2 provides an efficient, powerful, scalable database connection pool.

3. Database password encryption.

4.SQL execution log.

Address: https: //github.com/alibaba/druid

 

4. Java processor of JSON fastjson

fastjson is a very good performance of the Java language implementation of JSON parser and generator, engineers have developed from Alibaba.

Main features: Fast FAST (other than any Java-based parser and generator more quickly, including jackson); powerful (JDK support the general category includes any Java Bean Class, Collection, Map, Date, or enum); zero-dependent (not dependent In addition to any other library JDK).

Address: https: //github.com/alibaba/fastjson

 

5. Services Framework Dubbo

Apache Dubbo (incubating) | Ali Baba is a high-performance, lightweight open-source Java RPC framework, which provides three core capabilities: an interface for remote method invocation, intelligent fault tolerance and load balancing, and automatic registration and service Find.

Address: https: //github.com/alibaba/dubbo

 

6. Enterprise-flow calculation engine JStorm

JStorm real-time streaming computational framework reference Apache Storm implemented on the network IO, threading model, resource scheduling, availability and stability made continuous improvement, it has been used more and more enterprises.

JStorm java storm can be seen as an enhanced version, in addition to the core with pure java implementation also includes thrift, python, facet ui. From an architectural point of view, it is essentially an zk distributed scheduling system.

Address: https: //github.com/alibaba/jstorm

 

7. Apns4j

apns4j is Apple Push Notification Service Java implementation.

Address: https: //github.com/teaey/apns4j

 

8. The data driving high interactive visual graphical syntax AntV - G2

G2 is a graphical syntax is based on visual coding, data-driven, with a high degree of ease of use and scalability, users do not need to focus on all kinds of tedious implementation details, a statement can build a variety of statistical interactive chart.

Meanwhile, G2 is the most important component AntV began (which is also the origin of the project named G2) "The Grammar of Graphics" visual system coding syntax described in the book.

Project address: 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

以上为阿里巴巴重点开源的项目,你用过几个,哪个最好用,欢迎在留言区分享!

 

 

·END·

程序员的成长之路

路虽远,行则必至

本文原发于 同名微信公众号「程序员的成长之路」,回复「1024」你懂得,给个赞呗。

回复 [ 520 ] 领取程序员最佳学习方式

回复 [ 256 ] 查看 Java 程序员成长规划

 

Guess you like

Origin www.cnblogs.com/gdjk/p/11410998.html