学科分类
目录
Spring Cloud

Spring Cloud与Spring Boot的兼容性

通过前面的学习,大家应该知道Spring Cloud是基于Spring Boot开发的。Spring Boot专注于快速、方便集成单个微服务,而Spring Cloud是关注全局的服务治理框架,Spring Cloud依赖于Spring Boot。

由于Spring Cloud和Spring Boot都发布了多个版本,选择这些版本时需要考虑兼容性。接下来,通过一张表描述Spring Cloud与Spring Boot版本的匹配关系,具体如表1所示。

表1 Spring Cloud与Spring Boot版本的匹配关系

Spring Cloud版本 Spring Boot版本
Greenwich版本 兼容Spring Boot2.1.x
Finchley版本 兼容Spring Boot2.0.x
Dalston和Edgware版本 兼容Spring Boot1.5.x
Camden版本 兼容Spring Boot1.4.x
Brixton版本 兼容Spring Boot1.3.x
Angel版本 兼容Spring Boot1.2.x

注意:

在实际操作中选择Spring Boot与Spring Cloud版本时,没有限制必须使用某一版本,一般标注GA的版本都可以使用,但有一点要注意Spring Cloud版本一定要与Spring Boot版本兼容,以兼容为第一要务,本书使用的Spring Cloud版本是Greenwich SR,Spring Boot版本是2.1.。

多学一招:Spring Cloud与Dubbo的比较

Dubbo和Spring Cloud都属于微服务架构,其中Dubbo是阿里巴巴服务治理的核心框架,后期被当当网改良。Spring Cloud从命名我们就可以知道,它是Spring家族的产物,Spring社区的强大到可以说是Java企业界最有影响力的组织了,其中Netflix公司开源的整套微服务架构套件是Spring Cloud的核心。接下来,通过一张表比较Spring Cloud与Dubbo,具体如表2所示。

表2 核心组件的比较

核心要素 Dubbo Spring Cloud
服务注册中心 Zookeeper Spring Cloud Netflix Eureka
服务通信方式 RPC REST API
服务网关 Spring Cloud Netflix Zuul
断路器 不完善 Spring Cloud Netflix Hystrix
分布式配置 Spring Cloud Config
服务追踪 Spring Cloud Sleuth

在表2中,Spring Cloud的组件明显比Dubbo的组件更加完善,其原因就是因为Spring Cloud是Spring的产物,而且世界各国的程序员都在不断完善Spring Cloud,但Dubbo只有当当网在改良。除此之外,Dubbo的服务通信方式是基于TCP协议的RPC,而Spring Cloud基于REST。从代码依赖性来看,基于REST的Spring Cloud不存在代码级别的强依赖,相对于RPC更加灵活,具有能够更好处理微服务架构解耦性的特点。

点击此处
隐藏目录