
— 特色专栏 —
大家好,我是民工哥!
在国内互联网飞速发展的这几十年里,国内也涌现了一堆互联网大厂。
它们不光有自己的自研技术架构,而且,还为开源界贡献出很大的力量。
同时,这些开源技术为国内一些中小互联网企业在发展过程中提供不小的技术支持。

在众多开源大厂中,阿里应该说是国内开源技术最多、最广的大厂。

那么,阿里这么多的开源技术中,你用过哪些呢?你知道哪些呢?
今天,我们就一起来盘一盘,阿里开源的那些开源技术。
这些开源技术框架或组件、工具,会一半,你的工资至少能涨二三万。
请注意:是会用,而不是用过。
Dubbo是一款高性能、轻量级的开源Java RPC框架,提供面向接口的远程方法调用、智能容错和负载均衡,以及服务自动注册和发现等功能。

特点:高性能、透明化远程调用、智能负载均衡、服务治理能力强。
应用场景:适用于需要高性能RPC调用的分布式系统,以及服务规模较大、需要服务治理的场景。
Spring Cloud Alibaba是阿里巴巴基于Spring Cloud生态的补充,为微服务架构提供了阿里巴巴的中间件解决方案。

特点:提供一站式微服务解决方案,包括服务发现、配置中心、分布式事务等组件。
应用场景:适用于需要快速搭建分布式应用系统的场景,特别是那些需要服务治理和动态配置管理的应用。
Nacos 是一个动态服务发现、配置管理和服务管理平台,致力于帮助开发者更敏捷和容易地构建、交付和管理微服务平台。

特点:支持服务的健康检查、快速故障切换、动态配置推送等功能。
应用场景:适用于构建以“服务”为中心的现代应用架构,如微服务范式、云原生范式等。
Apache Flink 是一个开源的分布式流处理和批处理计算框架。

特点:支持批处理和流处理,低延迟、高吞吐量。
应用场景:大规模数据处理和实时数据分析。
Sentinel是阿里巴巴开源的流量控制组件,用于实现微服务架构中的流量控制、熔断降级等功能。

特点:提供丰富的流量控制策略,支持系统自适应保护,具有友好的控制台操作界面。
应用场景:适用于需要精细化流量控制的微服务系统,以及面临突发流量冲击的在线服务。
RocketMQ 是一款分布式、队列模型的消息中间件,具有高吞吐量、低延迟、高可用性的特点。

特点:支持严格的消息顺序、亿级消息堆积能力、消息回溯和多个维度的消息查询。
应用场景:广泛应用于异步通信、数据同步、消息驱动的微服务架构中。
Seata是一款高性能的分布式事务解决方案,支持微服务架构中的事务一致性管理。

特点:实现多种事务模式(如AT、TCC、SAGA),能够在分布式系统中保证数据的一致性。
应用场景:适用于需要分布式事务支持的微服务场景,特别是那些对数据一致性有严格要求的应用。
阿里巴巴开源的混沌工程工具,用于模拟系统故障,提升分布式系统稳定性。

特点:支持多种故障场景(如CPU、网络、应用故障),提供多种执行方式(CLI、HTTP、平台界面),可自动化部署。
应用场景:测试系统容错性,如金融交易、电商系统等需要高可靠性的场景。
基于Kubernetes的云原生平台构建工具,简化应用开发和部署。

特点:基于OAM模型,提供可编程扩展架构,支持多集群管理,统一应用管理平台。
应用场景:构建云原生应用平台,如PaaS、数据库平台、AI平台等。
阿里巴巴推出的轻量级物联网嵌入式操作系统。

特点:支持多种CPU架构,提供组件化开发,支持多种物联网协议,具备高安全性。
应用场景:智能家居、智慧城市、工业物联网等低功耗、高安全性要求的设备。
Fastjson是一个性能很好的Java语言实现的JSON解析器和生成器。

特点:快速、强大、零依赖,支持各种复杂数据结构。
应用场景:广泛应用于需要JSON序列化和反序列化的Java应用中。
Druid是阿里巴巴开发的数据库连接池,以其高效性、监控能力强、安全性高和易扩展性著称。

特点:提供详尽的SQL执行监控,支持密码加密,允许灵活的日志记录和自定义扩展。
应用场景:适用于需要优化数据库连接管理、提升应用性能的Java应用。
基于JAVA的模块化开发框架,提供运行时动态加载、卸载模块及模块间调用的API。

特点:支持模块的动态部署、多版本部署,实现故障隔离和快速发布。
应用场景:微服务集成测试、数据管理中心、指标计算系统等。
Java诊断工具,允许开发者无需重启或修改代码即可实时监控和诊断线上Java应用。
特点:提供命令行界面,支持查看JVM状态、监控线程、分析内存、追踪方法调用等功能。
应用场景:线上Java应用的问题定位和诊断。
基于 MySQL 官方版本的一个分支,由阿里云数据库团队维护。

特点:在社区版的基础上做了大量的性能与功能的优化改进,尤其适合电商、云计算以及金融等行业环境。
应用场景:适用于需要高性能、高可用性的 MySQL 数据库场景。
阿里自研的 P2P 文件分发系统。
特点:用于解决大规模文件分发场景下分发耗时、成功率低、带宽浪费等难题,大幅提升发布部署、数据预热、大规模容器镜像分发等业务能力。
应用场景:适用于需要高效文件分发的场景,如日志存储和搜索、容器镜像分发等。
用于处理Excel文件的Java库,简化了读取和写入Excel文件的过程。

特点:在大数据量情况下表现优秀,避免内存溢出等问题。
应用场景:需要处理大量Excel文件数据的场景。
阿里巴巴发布的智能体开发框架,旨在简化大型语言模型(LLM)驱动的智能体应用开发。

特点:通过模块化设计和三层技术架构,提供从开发、部署到监控的“智能体生产线”。支持实时介入控制、智能上下文管理和高效工具调用。
应用场景:AI智能体开发领域,特别是需要高效、稳定智能体应用的场景。
分布式链路追踪中间件,用于分布式系统调用跟踪。

特点:通过统一的traceId将调用链路中的各种网络调用情况以日志方式记录下来,实现透视化网络调用。
应用场景:分布式系统的性能监控和故障排查。
开源地址:https://github.com/sofastack/sofa-tracer
高性能、生产级的Java RPC框架。

特点:提供丰富的模型抽象和可扩展接口,包括过滤器、路由、负载均衡等。致力于简化应用之间的RPC调用,提供稳定高效的点对点远程服务调用方案。
应用场景:需要高性能RPC调用的分布式系统。
JVM-Sandbox 是一种基于 JVM 的非侵入式运行期 AOP 解决方案。


特点:支持实时无侵入 AOP 框架,允许在 JVM 运行过程中完成指定方法的 AOP 字节码增强,无需对目标类进行侵入式改造。
应用场景:适用于需要动态增强类方法、监控 JVM 状态、分析方法调用等场景。
开源地址:https://github.com/alibaba/jvm-sandbox
HSF 是阿里巴巴内部广泛使用的分布式服务框架。

特点:提供高性能的 RPC 调用,支持服务的自动注册与发现、负载均衡、容错等特性。
应用场景:适用于构建大规模分布式系统,支持阿里巴巴内部众多核心业务的调用。
精卫是一个基于 MySQL 数据库的数据复制组件。

特点:支持解析 MySQL 的 binlog 到数据库(MySQL、Oracle)或 Meta 消息中间件,保证数据不丢失,支持用户自定义复制任务。
应用场景:适用于数据迁移、数据同步、实时数据分析等场景。
Yugong 是阿里巴巴开发的一款数据库迁移工具。


特点:支持全量迁移和增量迁移,实现 Oracle 数据库到 MySQL 或 DRDS 数据库的数据迁徙。
应用场景:适用于数据库迁移、去 IOE(IBM、Oracle、EMC)等场景。
开源地址:https://github.com/alibaba/yugong
Macaca 是一套完整的自动化测试解决方案。

特点:支持移动端和 PC 端,支持 Native、Hybrid、H5 等多种应用类型,提供客户端工具和持续集成服务。
应用场景:适用于自动化测试、持续集成等场景,提高测试效率和软件质量。
Lealone 是一个兼具 RDBMS、NoSQL 优点的面向 OLTP 场景的分布式关系数据库。
特点:完全异步化,使用少量线程就能处理大量并发;支持插件化存储引擎架构和事务引擎架构;支持索引、视图、Join 等特性。
应用场景:适用于需要高并发、低延迟的在线事务处理场景。
由阿里巴巴发起,与雅虎、滴滴出行、Streamlio 公司共同参与创立的分布式消息及流处理领域的应用开发标准。

特点:创立厂商无关、平台无关的分布式消息及流处理领域的应用开发标准。
应用场景:适用于需要分布式消息和流处理的场景。
开源地址:https://github.com/openmessaging
企业级UI设计语言和React组件库。

特点:丰富的React UI组件,基于React的组件化开发模式。
应用场景:构建高质量的应用程序界面。
看完之后,你有什么感觉?
阿里的技术在国内互联网大厂中应该说是比较牛逼的。
觉得不错的话,随手点个赞👍 、推荐