阿里巴巴的26款超神Java开源项目!

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

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

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

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

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

Druid是一个 JDBC 组件。

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

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

3.数据库密码加密。

4.SQL执行日志。

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

3. Java 的 JSON 处理器 fastjson

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

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

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

4. 服务框架 Dubbo

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

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

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

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

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

6. apns4j

apns4j 是 Apple Push Notification Service 的 Java 实现!

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

7. 分布式数据层 TDDL

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

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

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

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

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

9. 淘宝定制 JVM:TaobaoJVM

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

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

10. Java 图片处理类库 SimpleImage

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

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

11. redis 的 java 客户端 Tedis

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

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

12.开源 Java 诊断工具 Arthas

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

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

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

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

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

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

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

14.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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

20.高性能 Java RPC 框架 SOFARPC

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

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

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

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

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

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

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

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

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

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

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

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

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

24.P2P 文件分发系统 Dragonfly

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

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

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

25.LayoutManager 定制化布局方案 vlayout

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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/570036.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

eclipse导出doc,文件夹为空

解决方法为: 在Extra Javadoc options输入框中填入-encoding UTF-8 -charset UTF-8

centos7安装csvn

1.赋予svnuser用户sudo权限,以root权限执行: 执行命令vi /etc/sudoers 在## Allow root to run any commands anywhere root ALL(ALL) ALL 之后添加 svnuser ALL(ALL) ALL 赋予用户svnuser sudo的权限。 强制保存并退出Esc:wq! 2.配置csvn使用1-…

为DEV C++/CodeBlock配置gdb调试遇到的问题

DEV C和CodeBlock都只是一个IDE,不能编译调试,需要自己配置MINGW和gdb调试 1、MINGW 在这下载mingw-get-setup.exe安装即可。 https://sourceforge.net/projects/mingw/files/MinGW/ 配置MINGW很简单,安装包就好了,可以只安装gcc和…

Java面向对象第二章课后习题

网盘链接: 链接:https://pan.baidu.com/s/12YzJZY3s4XSq5C94HxWqZA 提取码:3w23 一、商场为员工提供了基本工资、物价津贴以及房租津贴。其中,物价津贴为基本工资的40%,房租津贴为基本工资的25%。 要求:从…

Nagios 网卡流量监控

一、操作被监控机 1、安装SNMP服务 [rootnagios nagios]# yum -y install net-snmp* 2、修改/etc/snmp/snmpd.conf # sec.name source community com2sec notConfigUser 127.0.0.1 public //IP地址设为监控机的IP # group conte…

python 多功能下载网页

#下载网页 #具有功能:捕获异常,重试下载并设置用户代理 import urllib.request import urllib.error #下载网页 #wscp:默认用户代理 web scraping with python 缩写 def download(url, user_agentwscp,num_retries2):print(Downloading:,url) #打印下载路…

Nagios的安装

一、Nagios的安装 1. 准备软件包 在做安装之前确认要对该机器拥有root权限。 确认你安装好的CentOS系统上已经安装如下软件包再继续。 可以用yum命令来安装这些软件包,键入命令: yum install httpd yum install gcc yum install glibc glibc-common yum …

BZOJ4520 CQOI2016K远点对(KD-Tree+堆)

堆维护第k大&#xff0c;每个点KD-Tree上A*式查询较远点&#xff0c;跑得飞快&#xff0c;复杂度玄学。 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> #include<qu…

windows media services 2008外网无法访问

配置好WMS2008之后&#xff0c;内网IP可以正常访问播放。但是用外网IP无法访问&#xff08;已经在路由器做好端口映射&#xff0c;RTSP的默认端口号为554&#xff09;。 后来百度了半天&#xff0c;终于在一个论坛找到了问题的所在。如果想用外网IP访问WMS2008&#xff0c;还需…

里式代换原则

子类型必须能够替换掉它们的父类型一个软件实体如果使用的是一个父类的话&#xff0c;那么一定适用于其子类&#xff0c;而且它察觉不出父类对象和子类对象的区别。也就是说&#xff0c;在软件里面&#xff0c;把父类都替换成它的子类&#xff0c;程序的行为没有任何变化。由于…

Mysql不用

Timeout error occurred trying to start MySQL Daemon.Starting MySQL: [FAILED] 可能是硬盘容量不足导致

Tomcat映射虚拟路径到指定磁盘(eclipse)

用WangEditor富文本编辑&#xff0c;上传图片的时候&#xff0c;本文主要记录一下Tomcat映射虚拟路径到指定磁盘&#xff0c;保存到指定路径中&#xff0c;且能实现页面预览。 在实现之前wangeditor的简单实用请参照博主小道仙的后宫&#xff0c;写的很详细&#xff1a;http://…

JVM内存简析

JAVA的JVM的内存可分为3个区&#xff1a;堆(heap)、栈(stack)和方法区(method) 堆区:1.存储的全部是对象&#xff0c;每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)2.jvm只有一个堆区(heap)被所有线程共享&#xff0c;堆中不存放基本类型和对象引用&a…

毕业一年啦~

重回博客园 去年毕业,第一份工作,在海外做了一年项目管理... 今年8月份回国,准备开始考研... 同时开始投身区块链开发.,, 区块链改变世界.... 转载于:https://www.cnblogs.com/fudianheg/p/10180431.html

删除指定路径下指定天数之前的文件

echo off ::演示&#xff1a;删除指定路径下指定天数之前&#xff08;以文件的最后修改日期为准&#xff09;的文件。 ::如果演示结果无误&#xff0c;把del前面的echo去掉&#xff0c;即可实现真正删除。 ::本例需要Win2003/Vista/Win7系统自带的forfiles命令的支持 rem 指定待…

go struct结构

1.自定义数组类型 type dics struct {hello stringid intvalue float32} //申明变量 为定义的类型&#xff0c;传值var a dicsa.hello “go语言”a.id 2a.value 1.212.、自定义变量类型&#xff0c;赋给指针 func main() {type dics struct {hello stringid intvalue …

centos下离线安装mysql

卸载原有冲突的依赖包 rpm -e postfix rpm -e mariadb-libs 按顺序安装 rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.27-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm rpm -ivh mysql-com…

记一次es和mq的netty冲突

1.今天在服务里面加了 es 6.4的 依赖包后&#xff0c;在预发布测试时候出现了下列的问题 看了 半天&#xff0c;最后发现是 es的 jar包 和 mq的 netty包 有冲突。然后去idea的 jar包依赖里面查看&#xff0c;mq使用的 是 而es依赖的netty 是多个 不同的包&#xff0c; 而在依赖…

Windows平台下搭建自己的Git服务器

Gitblit 是一个纯 Java 库用来管理、查看和处理 Git 资料库&#xff0c;相当于 Git 的 Java 管理工具。 Gitblit 支持Linux操作系统&#xff0c;因此 Gitblit 需要java运行环境&#xff08;JRE&#xff09;。 如果公司要搭建自己的 Git 服务器&#xff0c;可以使用 Gitblit 这个…

保存 laravel model 而不更新 timestamps 的方法

$product Product::find(1); $product->view_count 1; $product->timestamps false; $product->save(); 重置数据库数据 update products set updated_at created_at;转载于:https://www.cnblogs.com/sgm4231/p/10189724.html