返回

云原生阿里云中间件开源往事

见解分享

1980年代的计算机行业类似如今的人工智能领域,而在90年代,联机事务处理(OLTP)数据库已经无处不在。时至今日,大家使用的计算机程序基本都建构于基于分布式系统的关系数据库上。对此,国内中介软件开发者眼中的中间件虽然技术先进,但过去一直难以直接应用于关系数据库之外的程序架构。不过,随着云原生架构技术为现代应用带来革命性转变,一批以分布式架构和云原生的中间件开源项目也引起了广泛关注。阿里云便率先对此进行积极探索,并推出了多个技术领先的开源项目,重新定义了中间件的内涵和外延。

2005 年,Apache Dubbo 项目在阿里巴巴诞生,成为阿里巴巴企业级中间件的代表性开源项目,随后逐渐成为国内最受欢迎的分布式服务框架之一。该项目自诞生以来一直专注于服务发现、远程过程调用和负载均衡等分布式系统基础设施的建设。随着国内分布式架构和云原生应用的兴起,Dubbo 日渐疲于应对新的需求。为此,阿里云于2017年开源了 Dubbo2 项目,主攻云原生应用。

相比传统的服务发现和远程过程调用,分布式架构和云原生架构在服务化后带来了海量的数据处理和转发需求,对此 Dubbo 项目原本的架构已经难以适应。为此,Dubbo2 项目对 Dubbo 进行了彻底的重构,使其完全运行于无服务器架构之上。此外,Dubbo2 还支持微服务治理、服务网格、分布式消息系统等云原生相关组件。

与传统的服务化架构不同,Dubbo2 可以直接部署于 Kubernetes 集群,无需配备专用的服务发现中心或注册中心,从而极大地简化了分布式系统的管理和维护。同时,Dubbo2还提供了统一的微服务治理平台,支持服务的注册、发现、负载均衡、流量控制、熔断和服务健康检查等功能,帮助开发者轻松实现分布式系统的故障隔离和弹性扩缩。

随着云原生技术的飞速发展,阿里云先后开源了多款基于云原生架构的中间件项目,包括 Nacos、RocketMQ、Sentinel 和 Seata 等,这些项目均已成为国内最受欢迎的开源项目。

  1. :一个云原生配置管理和服务发现中心,提供服务注册、发现和配置管理等功能。

  2. :一个云原生分布式消息系统,提供可靠的消息传递、发布/订阅和流处理等功能。

  3. :一个云原生分布式系统流量控制框架,提供熔断、限流、降级和系统负载保护等功能。

  4. :一个云原生分布式事务协调框架,提供分布式事务管理、分布式锁和分布式协调等功能。

阿里云在中间件开源领域的探索,为国内开发者提供了丰富的选择。未来,阿里云还将继续开源更多基于云原生架构的中间件项目,帮助开发者轻松构建和管理现代应用。