13518219792

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

阿里受欢迎的20个开源项目

大家好,我是Echa。

说到阿里,作为程序员的小编不得不说阿里的达摩院,也就在上周阿里的达摩院又出新科技出来了,友友们猜猜是啥?又看到网传的消息,没错,那就是阿里版ChatGPT(通义千问),内部消息阿里版ChatGPT( 通义千问)预计4月11号面世大众,但现在看申请通义千问内测申请入口已经关闭了,只有邀请码入口了。到时候小编有空给大家出一期。先说说阿里最受欢迎的20个开源项目这个事情。

上周四,小编整理了一篇关于阿里最受欢迎前端开源项目:《阿里最受欢迎的16个前端开源项目》,广受友友们欢迎,有兴趣的可以看看。甚至还有好多友友私信小编强力要求出一期阿里最受欢迎的后端开源项目,你们这是给小编我出难题。但是庆幸的是,小编这点人脉还是有的,在圈内问到了一些,再结合小编平时养成爱收集的良好习惯。

今天小编整理一起分享阿里最受欢迎的20个开源项目,希望给友友们有所帮助,同时祝福友友们身体健健康康、事业蒸蒸日上、财源滚滚而来、日子红红火火、万事顺顺利利。

通义千问官网:​​https://tongyi.aliyun.com/​​

通义千问官网

全文大纲

arthas

官网:https://arthas.aliyun.com/

Github:https://github.com/alibaba/arthas

Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。

背景

通常,本地开发环境无法访问生产环境。如果在生产环境中遇到问题,则无法使用 IDE 远程调试。更糟糕的是,在生产环境中调试是不可接受的,因为它会暂停所有线程,导致服务暂停。

开发人员可以尝试在测试环境或者预发环境中复现生产环境中的问题。但是,某些问题无法在不同的环境中轻松复现,甚至在重新启动后就消失了。

如果您正在考虑在代码中添加一些日志以帮助解决问题,您将必须经历以下阶段:测试、预发,然后生产。这种方法效率低下,更糟糕的是,该问题可能无法解决,因为一旦 JVM 重新启动,它可能无法复现,如上文所述。

Arthas 旨在解决这些问题。开发人员可以在线解决生产问题。无需 JVM 重启,无需代码更改。 Arthas 作为观察者永远不会暂停正在运行的线程。

当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:

  1. 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
  2. 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
  3. 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
  4. 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
  5. 是否有一个全局视角来查看系统的运行状况?
  6. 有什么办法可以监控到JVM的实时运行状态?
  7. 怎么快速定位应用的热点,生成火焰图?
  8. 怎样直接从JVM内查找某个类的实例?

具体如下图:

arthas 官网

fastjson

Github:github.com/alibaba/fastjson

fastjson 是一个 Java 库,可将 Java 对象转换为其 JSON 表示形式。它也可以用于将 JSON 字符串转换为等效的 Java 对象。

相对其他 JSON 库,fastjson 的优点是快,从 2011 年 fastjson 发布第一个版本后,其性能从未被其他 JSON 库超越。

由于是阿里开源,fastjson 在阿里巴巴内部大规模使用,在数万台服务器上部署。fastjson 在业界也被广泛接受。曾经被开源中国评选为最受欢迎的国产开源软件之一。

Fastjson目标

具体如下图:

druid

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

Druid 是一个 JDBC 组件库,包含数据库连接池、SQL Parser 等组件, 被大量业务和技术产品使用或集成,经历过最严苛线上业务场景考验,是你值得信赖的技术产品。

maven central repository http://repo1.maven.org/maven2/com/alibaba/druid/

Maven 依赖


com.alibaba
druid
1.1.12

Gradle

compile group: 'com.alibaba', name: 'druid', version: '1.1.12'

具体如下图:

spring-cloud-alibaba

官网:https://spring.io/projects/spring-cloud-alibaba

Github: https://github.com/alibaba/spring-cloud-alibaba

Spring Cloud阿里巴巴为分布式应用程序开发提供一站式解决方案。它包含开发分布式应用程序所需的所有组件,使您可以轻松地使用Spring Cloud开发应用程序。

使用Spring Cloud Alibaba,您只需添加一些注释和少量配置即可将Spring Cloud应用程序连接到阿里巴巴的分布式解决方案,并使用阿里巴巴中间件构建分布式应用系统。

特性

具体如下图:

sofa-boot

官网:https://www.sofastack.tech/projects/sofa-boot/overview/

Github: https://github.com/alipay/sofa-boot

SOFABoot 是蚂蚁集团开源的基于 Spring Boot 的研发框架,它在 Spring Boot 的基础上,提供了诸如 Readiness Check,上下文隔离,类隔离,日志空间隔离等等能力。

再增强了 Spring Boot 的同时,SOFABoot 提供了让用户可以在 Spring Boot 中非常方便地使用 SOFA 中间件的能力。

功能描述

SOFABoot 在 Spring Boot 基础上,提供了以下能力:

具体如下图:

dubbo

官网:https://cn.dubbo.apache.org/zh-cn/index.html

Github: https://github.com/apache/dubbo

ApacheDubbo是一个基于Java的高性能开源RPC框架。请访问官方网站以获取快速入门指南和文档,以及wiki以获取新闻、常见问题解答和发布说明。

我们现在正在收集Dubbo用户信息,以帮助我们进一步改进Dubbo。

系统架构

特征

具体如下图:

 easyexcel-easyexcel

官网:https://easyexcel.opensource.alibaba.com/

Github: https://github.com/alibaba/easyexcel

JAVA解析Excel工具

Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,一个3M的excel用POI sax解析依然需要100M左右内存,改用easyexcel可以降低到几M,并且再大的excel也不会出现内存溢出;03版依赖POI的sax模式,在上层做了模型转换的封装,让使用者更加简单方便


具体如下图:

nginx-book

官网:https://easyexcel.opensource.alibaba.com/

Github: https://github.com/alibaba/easyexcel

nginx由于出色的性能,在世界范围内受到了越来越多人的关注,在淘宝内部它更是被广泛的使用,众多的开发以及运维同学都迫切的想要了解nginx模块的开发和它的内部原理,但是国内却没有一本关于这方面的书,源于此我们决定自己来写一本。本书的作者为淘宝核心系统服务器平台组的成员,本书写作的思路是从模块开发逐渐过渡到nginx原理剖析。书籍的内容会定期在这里更新,欢迎大家提出宝贵意见,不管是本书的内容问题,还是字词错误,都欢迎大家提交issue(章节标题的左侧有评注按钮),我们会及时的跟进。

如下图:

 sofa-rpc

官网:https://www.sofastack.tech/projects/sofa-rpc/overview/

Github: https://github.com/sofastack/sofa-rpc

SOFARPC 是蚂蚁金服开源的一款基于 Java 实现的 RPC 服务框架,为应用之间提供远程服务调用能力,具有高可伸缩性,高容错性,目前蚂蚁金服所有的业务的相互间的 RPC 调用都是采用 SOFARPC。SOFARPC 为用户提供了负载均衡,流量转发,链路追踪,链路数据透传,故障剔除等功能。

SOFARPC 还支持不同的协议,目前包括 bolt,RESTful,dubbo,H2C 协议进行通信。其中 bolt 是蚂蚁金融服务集团开放的基于 Netty 开发的网络通信框架。

基本原理

  1. 当一个 SOFARPC 的应用启动的时候,如果发现当前应用需要发布 RPC 服务的话,那么 SOFARPC 会将这些服务注册到服务注册中心上。如图中 Service 指向 Registry。
  2. 当引用这个服务的 SOFARPC 应用启动时,会从服务注册中心订阅到相应服务的元数据信息。服务注册中心收到订阅请求后,会将发布方的元数据列表实时推送给服务引用方。如图中 Registry 指向 Reference。
  3. 当服务引用方拿到地址以后,就可以从中选取地址发起调用了。如图中 Reference 指向 Service。

如下图:

 p3c

Github: https://github.com/alibaba/p3c

我们很高兴向您介绍《阿里巴巴Java编码指南》,该指南整合了阿里巴巴集团技术团队多年来的最佳编程实践。大量的Java编程团队对项目中的代码质量提出了苛刻的要求,因为我们鼓励重用和更好地理解彼此的程序。我们在过去看到过许多编程问题。例如,有缺陷的数据库表结构和索引设计可能会导致软件体系结构缺陷和性能风险。另一个例子是难以维护的令人困惑的代码结构。此外,没有身份验证的易受攻击的代码容易受到黑客的攻击。为了解决这些问题,我们为阿里巴巴的Java开发人员开发了本文档。

如下图:

 AliSQL

Github: https://github.com/alibaba/AliSQL

AliSQL是一个源于阿里巴巴集团的MySQL分支。它基于MySQL官方版本,具有许多功能和性能增强。AliSQL已被证明在生产环境中非常稳定和高效。它可以作为MySQL的免费、完全兼容、增强和开源的插件替换。

AliSQL自2016年8月以来一直是一个开源项目。阿里巴巴集团的工程师正在积极开发。此外,它还包括来自Percona、WebScaleSQL和MariaDB的补丁。AliSQL是社区努力的成果。欢迎大家参与进来。

如下图:

 oceanbase

官网:https://open.oceanbase.com/

Github: https://github.com/alibaba/oceanbase

OceanBase是由蚂蚁金服、阿里巴巴完全自主研发的金融级分布式关系数据库,始创于2010年。OceanBase具有数据强一致、高可用、高性能、在线扩展、高度兼容SQL标准和主流关系数据库、低成本等特点。OceanBase至今已成功应用于支付宝全部核心业务:交易、支付、会员、账务等系统以及阿里巴巴淘宝(天猫)收藏夹、P4P广告报表等业务。除在蚂蚁金服和阿里巴巴业务系统中获广泛应用外,从2017年开始,OceanBase开始服务外部客户,客户包括南京银行、西安银行、印度Paytm、人保健康险等。

如下图:

 fastdfs

官网:https://open.oceanbase.com/

Github: https://github.com/happyfish100/fastdfs

FastDFS只能根据GNU通用公共许可证V3的条款进行复制,该许可证可以在FastDFS源工具包中找到。有关更多详细信息,请访问FastDFS主页。中文:http://www.fastken.com/

FastDFS是一个开源的高性能分布式文件系统。它的主要功能包括:文件存储、文件同步和文件访问(文件上传和文件下载),可以解决高容量和负载平衡问题。FastDFS应满足其服务基于文件的网站的要求,如照片共享网站和视频共享网站。

FastDFS有两个角色:跟踪器和存储。跟踪器负责文件访问的调度和负载平衡。存储器存储文件,其功能是文件管理,包括:文件存储、文件同步、提供文件访问接口。它还管理元数据,这些元数据是表示为文件的键值对的属性。例如:width=1024,键为“width”,值为“1024”。

跟踪器和存储器包含一个或多个服务器。跟踪器或存储集群中的服务器可以随时添加到集群或从集群中删除,而不会影响在线服务。跟踪器集群中的服务器是对等的。

按文件卷/组组织以获得高容量的存储服务器。存储系统包含一个或多个卷,这些卷中的文件是独立的。整个存储系统的容量等于所有卷的容量之和。文件卷包含一个或多个存储服务器,这些服务器之间的文件相同。文件卷中的服务器相互备份,并且所有这些服务器都是负载平衡的。将存储服务器添加到卷中时,该卷中已存在的文件会自动复制到此新服务器,并且在复制完成后,系统会将此服务器联机切换为提供存储服务。

如下图:

 rocketmq

官网:https://rocketmq.apache.org/

Github: https://github.com/apache/rocketmq/

Apache RocketMQ是一个分布式消息和流媒体平台,具有低延迟、高性能和可靠性、万亿级容量和灵活的可扩展性。

它提供了多种功能:

如下图:

 Metamorphosis

Github: https://github.com/killme2008/Metamorphosis

Metamorphosis是淘宝开源的一个Java消息中间件,他类似apache-kafka,但不是一个简单的山寨拷贝,而是做了很多改进和优化,项目的主页在淘蝌蚪上。

这是MetaQ的一个github分支,我做了部分优化和改进,并将meta发布到maven central repository,还做了一些wiki文档,我能承诺的是我个人会持续维护本项目。

MetaQ的淘宝版本已经发展到2.0乃至3.0版本,设计原则发生了变更,有兴趣的可以上它的官方网站看。

本分支应用在京东,支付宝,腾讯等公司的产品上。

如下图:

 tengine

官网:http://tengine.taobao.org/

Github: https://github.com/alibaba/tengine

Tengine是一款由亚洲最大的电子商务网站淘宝发起的网络服务器。它基于Nginx HTTP服务器,并具有许多高级功能。Tengine在包括淘宝网和天猫网在内的世界100强网站上已经被证明是非常稳定和高效的。

Tengine自2011年12月以来一直是一个开源项目。Tengine团队正在积极开发,其核心成员来自淘宝、搜狗和其他互联网公司。Tengine是一个社区的努力,鼓励每个人都参与进来。

特性

如下图:

 otter

Github: https://github.com/alibaba/otter

环境搭建 & 打包

环境搭建:

  1. 进入 $otter_home/lib 目录
  2. 执行:bash install.sh

打包:

  1. 进入$otter_home目录
  2. 执行:mvn clean install -Dmaven.test.skip -Denv=release
  3. 发布包位置:$otter_home/target

项目背景

阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,同时为了提升用户体验,整个机房的架构为双A,两边均可写,由此诞生了otter这样一个产品。

otter第一版本可追溯到04~05年,此次外部开源的版本为第4版,开发时间从2011年7月份一直持续到现在,目前阿里巴巴B2B内部的本地/异地机房的同步需求基本全上了otter4。

目前同步规模:

  1. 同步数据量6亿
  2. 文件同步1.5TB(2000w张图片)
  3. 涉及200+个数据库实例之间的同步
  4. 80+台机器的集群规模

工作原理

原理描述:

1. 基于Canal开源产品,获取数据库增量日志数据。 什么是Canal, 请点击

2. 典型管理系统架构,manager(web管理)+node(工作节点)

a. manager运行时推送同步配置到node节点

b. node节点将同步状态反馈到manager上

3. 基于zookeeper,解决分布式状态调度的,允许多node节点之间协同工作.

如下图:

 GraphScope

官网:https://graphscope.io/

Github: https://github.com/alibaba/GraphScope

背景

2008年,阿里巴巴开始尝试使用 MySQL 支撑其业务,开发了围绕 MySQL 相关的中间件和工具,Cobar/TDDL(目前为阿里云DRDS产品),解决了单机 Oracle 无法满足的扩展性问题,当时也掀起一股去IOE项目的浪潮,愚公这项目因此而诞生,其要解决的目标就是帮助用户完成从 Oracle 数据迁移到 MySQL 上,完成去 IOE 的重要一步工作。

GraphScope是一个统一的分布式图形计算平台,通过用户友好的Python接口,为在计算机集群上执行各种图形操作提供了一站式环境。GraphScope结合了阿里巴巴的几项重要技术,简化了计算集群上大规模图形数据的多阶段处理:包括分别用于分析、交互和图形神经网络(GNN)计算的GRAPE、MaxGraph和graph Learn(GL),以及提供高效内存数据传输的葡萄园存储。

如下图:

 SREWorks

官网:https://sreworks.cn/

Github: https://github.com/alibaba/SREWorks

SREWorks 专注于以应用为中心的开发模式,提供一站式云原生数智化运维SaaS(软件即服务)管理套件。支撑企业的应用及资源管理和运维开发两大核心能力,帮助企业快速实现云原生应用及资源的交付目标。

SREWorks 是什么?

谷歌在2003年提出了一种岗位叫做 SRE (Site Reliability Engineer,站点可靠性工程师),它是软件工程师和系统管理员的结合,重视运维人员的开发能力,要求运维日常琐事在50%以内,另外50%精力开发自动化工具减少人力需求。

SREWorks 作为阿里云大数据SRE团队对SRE理念的工程实践,专注于以应用为中心的一站式“云原生”、“数智化”运维 SaaS 管理套件,提供企业应用&资源管理及运维开发两大核心能力,帮助企业实现云原生应用&资源的交付运维。

阿里云大数据 SRE 团队天然靠近大数据和AI,对大数据&AI技术非常熟悉,且具有随取随用的大数据&AI算力资源,一直努力践行“数据化”、“智能化”的运维理念,行业里的 DataOps(数据化运维)最早由该团队提出。SREWorks 中有一套端到端的 DataOps 闭环工程化实践,包括标准的运维数仓、数据运维平台、运营中心等。

传统IT运维领域已经有大量优秀的开源运维平台,反观云原生场景,目前还缺乏一些体系化的运维解决方案。随着云原生时代大趋势的到来,阿里云大数据 SRE 团队将SREWorks运维平台开源,希望为运维工程师们提供开箱即用的运维平台。

SREWorks 有什么优势?

回归到运维领域的需求,无论上层产品和业务形态怎么变化,运维本质上解决的还是“质量、成本、效率、安全”相关需求。SREWorks 用一个运维 SaaS 应用界面来支撑上述需求,同时以“数智”思想为内核驱动 SaaS 能力,具体包括交付、监测、管理、控制、运营、服务六部分。

如下图:

 x-render

官网: https://xrender.fun/

Github: https://github.com/alibaba/x-render

阿里 - 很易用的中后台「表单 / 表格 / 图表」解决方案

优势

如下图:

最后

一台电脑,一个键盘,尽情挥洒智慧的人生;几行数字,几个字母,认真编写生活的美好;

一 个灵感,一段程序,推动科技进步,促进社会发展。​


本文名称:阿里受欢迎的20个开源项目
标题链接:http://cdbrznjsb.com/article/djhgeje.html

其他资讯

让你的专属顾问为你服务