Spring Cloud Alibaba微服务架构设计与开发实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2.2 从Spring Cloud到Spring Cloud Alibaba

Spring Cloud和Spring Cloud Alibaba都是构建在Spring Boot之上的微服务框架,它们都提供了一系列的组件和工具,可以帮助开发人员快速构建和管理微服务应用程序。请注意,Spring Cloud是Spring官方维护的微服务框架,它的生态系统非常丰富。而Spring Cloud Alibaba则是阿里巴巴维护的微服务框架,同样具备自身的一套生态系统。表1-2展示了Spring Cloud与Spring Cloud Alibaba之间的技术组件对比关系。

表1-2 Spring Cloud与Spring Cloud Alibaba之间的技术组件对比关系

从表1-2中我们不难看出,Spring Cloud Alibaba比Spring Cloud提供了更多实用的技术组件。

❑ Nacos:一款更易于构建云原生应用的动态服务发现、配置管理和服务管理平台,整合了注册中心和配置中心的核心功能。

❑ Sentinel:一款高性能的熔断降级组件,把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

❑ RocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。

❑ Seata:一款高性能的分布式事务开发框架,集成了目前主流的各类分布式事务实现模式和解决方案。

从框架的发展和业界的应用情况来讲,Spring Cloud的成功源于它集成了Netflix所提供的开发工具包,其中包括Eureka、Ribbon、Feign、Hystrix、Zuul、Archaius等组件。在2020年之前,这套Spring Cloud Netflix生态都是业界开发微服务系统的主流框架。但在2020年之后,由于Netflix对Zuul、Ribbon等项目的维护投入比较少,所以Spring Cloud在greenwich版本中把这些项目都设置成了维护模式。进入维护模式意味着Spring Cloud团队不会再向这些模块中添加新的功能,但是仍然会修复安全问题和一些block级别的bug。

Spring Cloud Alibaba作为阿里巴巴开发的一套微服务架构,目前已经纳入Spring中,开发人员可以采用与Spring Cloud完全一样的编程模型轻松使用Spring Cloud Alibaba所提供的技术组件来开发微服务系统,学习成本非常低。再加上Netflix停止了更新,所以包括笔者所在团队在内,当下业界大多数公司都选择使用阿里巴巴系列的微服务开发框架。