一、Spring Cloud 简介
Spring Cloud 是一系列框架的集合,旨在简化分布式系统基础设施的开发。它依托于 Spring Boot 的开发便利性,提供了一套易于使用的工具包,帮助开发者轻松实现服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等功能。这些功能都可以通过 Spring Boot 的风格进行一键启动和部署。
二、Spring Boot 与 Spring Cloud 的关系
1. Spring Boot 的专注点
Spring Boot 专注于快速、方便地开发单个微服务。它通过简化配置和使用内嵌服务器等手段,使得微服务的开发变得更加高效。
2. Spring Cloud 的专注点
Spring Cloud 则关注全局的微服务协调与治理。它将由 Spring Boot 开发的单体微服务整合起来,并提供一系列服务治理功能,如配置管理、服务发现、断路器、路由、事件总线、分布式事务等。
总结: Spring Boot 专注于快速、方便地开发单个微服务,而 Spring Cloud 则关注全局的服务治理,是一个将多个微服务集成并管理起来的框架集合。
三、Spring Cloud 的版本命名规则
由于 Spring Cloud 不同于其他独立项目,它包含众多子项目,因此它的版本命名采用“版本名 + 版本号”的方式(例如:Greenwich.SR6)。
- 版本名:是伦敦的地铁站名。
- 版本号:SR(Service Releases)表示稳定版本,后面跟随一个递增的数字。
因此,Greenwich.SR6 代表的是 Greenwich 版本的第 6 个 Release 版本。
四、为什么选择 Spring Cloud Alibaba?
选择 Spring Cloud Alibaba 的主要原因是 Spring Cloud Netflix 组件(如服务注册与发现的 Eureka、服务限流降级的 Hystrix、网关 Zuul)已经停止更新。虽然这些组件仍然可以使用,但一旦出现问题,官方将不再提供维护,开发者需要自行解决。因此,Spring Cloud Alibaba 成为更合适的选择,提供了持续更新和维护的替代方案。