阿里巴巴top10的开源项目列表以及用途(阿里巴巴 开源项目)
阿里巴巴github开源项目有394个,全中国共享代码最多的公司,阿里的大佬程序员真的是层出不穷啊,尤其是java程序猿最多。量多,质量好,免费开源。下面来看看star排名前10的开源项目以及其特点。
alibaba开源仓库总数394
排名第10的是Sentinel。star个数20,660 , 主要开发语言java
Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。
Sentinel 具有以下特性:
- 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。
- 完备的实时监控:Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。
- 广泛的开源生态:Sentinel 提供开箱即用的与其它开源框架 / 库的整合模块,例如与 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相应的依赖并进行简单的配置即可快速地接入 Sentinel。
- 完善的 SPI 扩展点:Sentinel 提供简单易用、完善的 SPI 扩展接口。您可以通过实现扩展接口来快速地定制逻辑。例如定制规则管理、适配动态数据源等。
排名第9的是flutter-go . star个数23,268 ,主要开发语言dart,目前停更
2018年6月21日Google发布Flutter首个release预览版,作为Google 大力推出的一种全新的响应式,跨平台,高性能的移动开发框架。Flutter是一个跨平台的移动UI框架,旨在帮助开发者使用一套代码开发高性能、高保真的Android和iOS应用。
flutter优点主要包括:
- 跨平台
- 开源
- Hot Reload、响应式框架、及其丰富的控件以及开发工具
- 灵活的界面设计以及控件组合
- 借助可以移植的GPU加速的渲染引擎以及高性能ARM代码运行时已达到高质量的用户体验
Flutter Go 的由来
flutter 开发者帮助 APP,包含 flutter 常用 140 组件的demo 演示与中文文档
- Flutter学习资料太少,对于英文不好的同学相对来说比较困难
- 官网文档示例不够健全,不够直观
- 各个 widget 的用法各异,属性纷繁,要运行一个 widget 的 demo 往往要到处翻阅各种资料
Flutter Go 的优势
- 详解常用widget多达 140 个
- 配套 Demo 详解 widget 常规用法
- 集中整合 widget 案例,一个 APP 搞定所有常用 widget 的用法
- 持续迭代 ‘追新’ 官方版本
排名第8的是spring-cloud-alibaba, star个数24,996,主要开发语言Java
这个是大家用得最多的组件了,名不虚传,实至名归.
Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。
依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。
此外,阿里云同时还提供了 Spring Cloud Alibaba 企业版 微服务解决方案,包括无侵入服务治理(全链路灰度,无损上下线,离群实例摘除等),企业级 Nacos 注册配置中心和企业级云原生网关等众多产品。
排名第7的是fastjson,star个数25,216 ,主要开发语言java
fastJSON是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。
相信大家都用过这个了,一般大家都用他来和gson比,我用fastjson比较多一点.来看看chatgpt是怎么比较的
作为AI语言模型,我不能够有评价,但是可以为您提供它们的基本信息和功能:
Fastjson是一个Java语言编写的高性能JSON处理器,Gson是Google提供的Java开发包,它可以将Java对象转换为JSON格式,也可以将JSON字符串转换为Java对象。两者都是用于处理JSON数据的Java工具包。
Fastjson的优点是速度快、易于使用、功能强大,支持多种数据格式的转换,包括JSON、XML、Java对象等。同时,Fastjson还提供了一些高级功能,如自定义序列化和反序列化器、支持注解、支持JSONP等。
Gson的优点是稳定性好、易于使用、支持多种数据格式的转换,包括JSON、XML、Java对象等。同时,Gson还提供了一些高级功能,如自定义序列化和反序列化器、支持注解、支持JSONP等。
总体来说,Fastjson和Gson都是优秀的Java工具包,具有自己的优点和特点,根据具体需求可以选择使用。
排名第6名的是canal , star个数25,218, 主要开发语言java
canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费
早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigger 获取增量变更。从 2010 年开始,业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大量的数据库增量订阅和消费业务。
基于日志增量订阅和消费的业务包括
- 数据库镜像
- 数据库实时备份
- 索引构建和实时维护(拆分异构索引、倒排索引等)
- 业务 cache 刷新
- 带业务逻辑的增量数据处理
当前的 canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x , 5.6.x , 5.7.x , 8.0.x
排名第5的是nacos, star个数 25.686 , 主要开发语言java
Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
排名第4的是druid, star个数26,638 ,主要开发语言java
号称Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。他出来之后,dbcp,c3p0都失踪了.
排名第3的是easyexcel , star个数27,044,主要开发语言java
号称最方便的excel导入导出工具,用了这个之后,poi,jxl什么的全部都丢到垃圾桶了,用这个吧,因他十分强大,十分简单,十分有性能.
easyexcel重写了poi对07版Excel的解析,一个3M的excel用POI sax解析依然需要100M左右内存,改用easyexcel可以降低到几M,并且再大的excel也不会出现内存溢出;03版依赖POI的sax模式,在上层做了模型转换的封装,让使用者更加简单方便
EasyExcel是一个基于Java的、快速、简洁、解决大文件内存溢出的Excel处理工具。 他能让你在不用考虑性能、内存的等因素的情况下,快速完成Excel的读、写等功能。
排名第二的是p3c, star个数28,883, 主要开发语言kotlin和java ,最新版黄山版
P3C是Java代码规约扫描工具。最新版本:黄山版(2022.2.3发布)
P3C旨在以工具的手段进行代码规约的落地,项目包含三部分:PMD规则实现、IntelliJ IDEA插件、Eclipse插件,帮助开发人员在工程研发的多个阶段进行代码规约检查,降低故障率、提升编码效率和质量。
排名第一的是arthas, star个数31925,主要开发语言java
Arthas (阿尔萨斯)是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。
当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:
- 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
- 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
- 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
- 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
- 是否有一个全局视角来查看系统的运行状况?
- 有什么办法可以监控到 JVM 的实时运行状态?
- 怎么快速定位应用的热点,生成火焰图?
- 怎样直接从 JVM 内查找某个类的实例?
阿里巴巴开源的软件还有很多,其最大的优势在于,提供了全中文文档,这对于国内程序员来说,拿来就可以上手的轮子,怎么不爱呢?例如tengine强大如nginx. 以及weex开发app的框架.很多项目也停止维护了,但是这些让这些代码开源的精神是中国其他大厂无法企及的高度。
2023年3月14日