【五】Spring Cloud微服务开发:解决版本冲突全攻略
Spring Cloud微服务开发:解决版本冲突全攻略
目录
Spring Cloud微服务开发:解决版本冲突全攻略
概述
一、Spring Boot
二、Spring Cloud
三、Spring Cloud Alibaba
总结
概述
spring cloud微服务项目开发过程中经常遇到程序包版本冲突的问题,我们在开发经常需要去分析spring cloud和spring boot的版本,于是就想着理一下他们之间的对应关系,这个理不清楚学不明我们很难把spring cloud学明白。如下我们将按照顺序来挨个来讲解 。
一、Spring Boot
首先我们来了解一下springboot相关版本,如下是官网展示的版本:
2014 年,Spring Boot 1.0 发布,到现在不知不觉已经11年之久了,以上展示的是稳定版本,感兴趣的同学可以去官网了解4.0.0-SNAPSHOT版本,这里如果有时间的话也会进行一下讲解。我们很多系统还是使用的2.x.x版本,这里我们将对以上的版本都进行一些讲解,正好做一些对比。
二、Spring Cloud
spring cloud实际上是基于spring boot的基础上来构建的,所以我们在日常开发的过程中,需要对springcloud和springboot版本对应关系有所了解,这样能够很好的避免在开发中出现版本冲突引起的问题。如下是官网的对应关系表:
其中一个比较大的一个变化,Spring官方宣布以下模块已从spring-cloud-netflix中删除:
- spring-cloud-netflix-archaius
- spring-cloud-netflix-concurrency-limits
- spring-cloud-netflix-core
- spring-cloud-netflix-dependencies
- spring-cloud-netflix-hystrix
- spring-cloud-netflix-hystrix-contract
- spring-cloud-netflix-hystrix-dashboard
- spring-cloud-netflix-hystrix-stream
- spring-cloud-netflix-ribbon
- spring-cloud-netflix-sidecar
- spring-cloud-netflix-turbine
- spring-cloud-netflix-turbine-stream
- spring-cloud-netflix-zuul
- spring-cloud-starter-netflix-archaius
- spring-cloud-starter-netflix-hystrix
- spring-cloud-starter-netflix-hystrix-dashboard
- spring-cloud-starter-netflix-ribbon
- spring-cloud-starter-netflix-turbine
- spring-cloud-starter-netflix-turbine-stream
- spring-cloud-starter-netflix-zuul
- Support for ribbon, hystrix and zuul was removed across the release train projects.
SpringCloud在官网上宣布将以如下内容替代Netflix的东西:
以下梳理了spring cloud 各版本以及组件版本对应关系:
三、Spring Cloud Alibaba
2019 月 7 月 24 日,Spring 官方宣布 Spring Cloud Alibaba 毕业,之后我们在微服务领域就有了更多的选择了。
以下是 Spring Cloud Alibaba 提供的 feature:
- 服务限流降级:使用 Sentinel 进行流量控制,熔断降级以及系统保护等多个维度保护服务稳定性
- 服务注册与发现:使用 Nacos 适配 Spring Cloud 服务注册与发现标准,默认集成了 Ribbon 这个客户端负载均衡组件
- 分布式配置管理:以 Nacos 作为数据存储支持分布式系统中的外部化配置,配置更改时自动刷新
- 事件驱动:使用 Spring Cloud Stream RocketMQ Binder 来构建事件驱动的微服务实例
- 消息总线:使用 Spring Cloud Bus RocketMQ 连接分布式系统中的各个节点
- 分布式事务:使用 Seata 高效并且对业务零侵入地解决分布式事务问题
- Dubbo RPC:扩展 Spring Cloud 服务调用协议,可使用 Spring Cloud 客户端调用 Dubbo 服务
- 阿里云 OSS 集成: 使用阿里云 OSS 服务集成 Spring Resource 资源
以下梳理了spring cloud alibaba各版本以及各组件对应版本关系:
版本说明 · alibaba/spring-cloud-alibaba Wiki · GitHub
https://github.com/spring-cloud/spring-cloud-release/wiki
总结
本篇完整梳理了Spring Cloud微服务各个版本的对应关系,意在彻底解决版本冲突问题,大家在开发过程中时常会遇到版本冲突的问题,对于初学者来说的确是噩梦般存在,希望读者再阅读完本文之后能够彻底摆脱这个噩梦。