当前位置: 首页 > 科技观察

2018年阿里巴巴Java重要开源项目汇总

时间:2023-03-12 12:08:19 科技观察

1.分布式应用服务开发一站式解决方案SpringCloudAlibabaSpringCloud阿里巴巴致力于提供分布式应用服务开发一站式解决方案。本项目包含了开发分布式应用服务所必需的组件,方便开发者通过SpringCloud编程模型方便地使用这些组件开发分布式应用服务。依托SpringCloudAlibaba,只需添加一些注解和少量配置,即可将SpringCloud应用接入阿里巴巴的分布式应用解决方案,通过阿里巴巴中间件快速构建分布式应用系统。地址:https://github.com/spring-cloud-incubator/spring-cloud-alibaba2。JDBC连接池、监控组件DruidDruid是一个JDBC组件。1.监控数据库访问性能。2、提供高效、强大、可扩展的数据库连接池。3.数据库密码加密。4.SQL执行日志。地址:https://github.com/alibaba/druid3。Java的JSON处理器fastjsonfastjson是阿里巴巴工程师开发的一款性能良好的Java语言实现的JSON解析器和生成器。主要特点:快速FAST(比任何其他基于Java的解析器和生成器都快,包括jackson);强大(支持常见的JDK类,包括任何JavaBean类、集合、映射、日期或枚举);零依赖(不依赖除JDK之外的任何其他类库)。地址:https://github.com/alibaba/fastjson4。服务框架DubboApacheDubbo(incubating)是阿里巴巴开源的高性能、轻量级JavaRPC框架,提供面向接口的远程方法调用、智能容错与负载均衡、自动服务注册与发现三大核心能力。地址:https://github.com/alibaba/dubbo5。企业级流计算引擎JStormJStorm是参考ApacheStorm实现的实时流计算框架。它在网络IO、线程模型、资源调度、可用性和稳定性方面做了大量工作。持续改进已被越来越多的企业所采用。JStorm可以看作是storm的java增强版。除了核心的纯java实现外,还包括thrift、python、facetui。从架构上看,其本质是一个基于zk的分布式调度系统。地址:https://github.com/alibaba/jstorm6。apns4japns4j是Apple推送通知服务的Java实现!地址:https://github.com/teaey/apns4j7。分布式数据层TDDLTDDL是基于集中配置的jdbc数据源实现,具有主备、读写分离、数据库动态配置等功能。地址:https://github.com/alibaba/tb_tddl8。轻量级分布式数据访问层CobarClientCobarClient是基于iBatis(更名为MyBatis)和Spring框架的轻量级分布式数据访问层(DAL)。地址:https://github.com/alibaba/cobarclient9。淘宝定制JVM:TaobaoJVMTaobaoJVM基于OpenJDKHotSpotVM,是国内首个优化定制开源服务器版Java虚拟机。目前已经在淘宝和天猫上线,并且全部替换了Oracle官方的JVM版本。它的性能和功能已经初步体现了它的价值。地址:http://jvm.taobao.org10。Java图片处理类库SimpleImageSimpleImage是阿里巴巴的Java图片处理类库,可以实现图片缩略图、水印等处理。地址:https://github.com/alibaba/simpleimage11。Redisjava客户端TedisTedis是另一个redisjava客户端。Tedis的目标是创建一个高可用的Redis解决方案,可以直接在生产环境中使用。地址:https://github.com/justified/tedis12。开源Java诊断工具Arthas阿尔萨斯(Alsace)是阿里巴巴开源的Java诊断工具,非常受开发者欢迎。Arthas采用命令行交互方式,并提供了丰富的Tab自动补全功能,进一步方便了问题的定位和诊断。地址:https://alibaba.github.io/arthas/13。动态服务发现、配置和服务管理平台NacosNacos致力于帮助您发现、配置和管理微服务。Nacos提供了一套简单易用的特性来帮助您实现动态服务发现、服务配置管理、服务和流量管理。Nacos帮助您更敏捷、更轻松地构建、交付和管理微服务平台。Nacos是构建以“服务”为中心的现代应用架构(如微服务范式、云原生范式)的服务基础设施。地址:https://nacos.io/zh-cn/14.Java解析Excel工具easyexcelJava解析生成Excel比较出名的框架有Apachepoi和jxl。但是它们都有一个严重的问题,就是消耗大量内存。poi有一个SAX模式的API,可以在一定程度上解决一些内存溢出问题,但是POI还是有一些缺陷。是在内存中完成的,内存消耗还是很大的。easyexcel重写了poi对07版excel的分析,可以将3M的excel,POIsax所需内存减少到100M左右,减少到KB级别,而且无论excel多大,都不会出现内存溢出。版本03依赖于POI的萨克斯模式。模型转换包做在上层,方便用户使用。地址:https://github.com/alibaba/easyexcel15。高可用流量管理框架SentinelSentinel是一个轻量级的微服务流量控制框架,从流量控制、熔断降级、系统负载保护等多个维度保障服务的稳定性。性别。只要SentinelAPI定义的代码是资源,就可以被Sentinel保护。在大多数情况下,您可以使用方法签名、URL甚至服务名称作为资源名称来标识资源。地址:https://github.com/alibaba/Sentinel16。基于MultidimensionalMetrics的系统度量和监控中间件SOFALookoutLookout是一个使用多维度量来度量和监控目标系统的项目。Lookout的多维指标参考Metrics2.0标准。Lookout项目分为客户端和服务器端部分。客户端是一个Java类库,可以植入到你的应用程序代码中来收集指标信息,客户端有更多的细节。服务器代码部分将在下一个版本中提供。通过LOOKOUT服务,可以收集、处理、存储和查询度量数据。另外结合grafana,可以实现数据的可视化。地址:https://github.com/alipay/sofa-lookout17。基于SpringBoot的研发框架SOFABootSOFABoot是蚂蚁金服开源的基于SpringBoot的研发框架。它提供了ReadinessCheck、Class隔离、日志空间隔离等功能。SOFABoot在增强SpringBoot的同时,为用户提供了在SpringBoot中方便地使用SOFAStack相关中间件的能力。地址:https://github.com/alipay/sofa-boot18。轻量级Java类隔离容器SOFAArkSOFAArk是一个基于Java的轻量级类隔离容器,由蚂蚁金服贡献;主要为应用程序提供类隔离和依赖包隔离的能力;基于FatJar技术,可以将应用打包成一个自包含的、可运行的FatJar,应用可以是简单的单模块Java应用,也可以是SpringBoot应用。访问URL以快速入门并获取更多详细信息。地址:https://alipay.github.io/sofastack.github.io/19。分布式链接追踪中间件SOFATracerSOFATracer是一个分布式系统调用追踪的组件,会通过统一的traceId调用链接中的各种网络调用,以日志的形式记录下来,达到透视网络调用的目的。这些日志可用于快速故障发现、服务治理等。地址:https://github.com/alipay/sofa-tracer20。高性能JavaRPC框架SOFARPCSOFARPC是一个高度可扩展、高性能、生产级的JavaRPC框架。蚂蚁金服SOFARPC经历了十多年,五代人的发展历程。SOFARPC致力于简化应用间的RPC调用,为应用提供便捷、透明、稳定、高效的点对点远程服务调用解决方案。为了方便用户和开发者进行功能扩展,SOFARPC提供了丰富的模型抽象和可扩展接口,包括过滤器、路由、负载均衡等,同时围绕SOFARPC框架及其周边组件提供了丰富的微服务治理方案.地址:https://github.com/alipay/sofa-rpc21。基于Netty的网络通信框架SOFABoltSOFABolt是蚂蚁金服开发的一套基于Netty的网络通信框架。为了让Java程序员更专注于基于网络通信的业务逻辑的实现,而不是过多纠结于网络底层NIO的实现和处理难以调试的网络问题,Netty应运而生.为了让中间件开发者更专注于产品功能和特性的实现,而不是重复制造通信框架的轮子,SOFABolt应运而生。地址:https://github.com/alipay/sofa-bolt22。动态非侵入式AOP方案JVM-SandboxJVM-Sandbox,JVM沙箱容器,基于JVM的非侵入式运行时AOP方案。地址:https://github.com/alibaba/jvm-sandbox23。面向云的分布式消息领域标准OpenMessagingOpenMessaging由阿里巴巴发起,与雅虎、滴滴出行、Streamlio共同创立,旨在打造一个厂商无关、平台无关的分布式消息和流处理领域的应用开发标准.地址:https://github.com/openmessaging/openmessaging-java24.P2P文件分发系统DragonflyDragonfly是阿里开发的P2P文件分发系统,用于解决大规模分发耗时长、成功率低的问题文件分发场景,带宽浪费等问题。大幅提升发布部署、数据预热、大规模容器镜像分发等业务能力。Dragonfly开源版本可用于P2P文件分发、容器镜像分发、本地限速、磁盘容量预检等,支持多种容器技术,无需对容器本身做任何修改。与natvie相比,镜像分发最高可加速57倍,Registry网络出站流量减少99.5%以上。地址:https://github.com/alibaba/Dragonfly25.LayoutManager自定义布局方案vlayoutVirtualLayout是RecyclerView的LayoutManager扩展,主要提供一整套布局方案和布局间的组件复用。地址:https://github.com/alibaba/vlayout26.Java代码规范扫描插件P3C项目由三部分组成:PMD实现、IntelliJIDEA插件、Eclipse插件地址:https://github.com/alibaba/p3c27.Android容器AtlasAtlas是阿里移动团队自研的一款手机淘宝Android客户端容器化框架。它使用容器化解决大型团队协作问题,实现并行开发、快速迭代和动态部署,适用于Android4.x以上系统版本的大小App开发。地址:http://atlas.taobao.org/(完)

猜你喜欢