Spring微服务架构GateWay配置中三大框架版本不兼容问题解决

前言

  • 为了快捷方便的阐述解决问题的思想,省略解决问题中找资料和无数次尝试的过程
  • 推荐看本篇之前首先掌握了Maven基础+jar包冲突如何解决

启动网关微服务

启动网关报错

检查网关微服务是否配置正确

确定问题不在微服务配置上

再次启动网关仔细排查错误

问题出现在框架版本

Spring微服务架构GateWay配置中三大框架版本不兼容问题解决_第1张图片

问题-1-截图

Spring微服务架构GateWay配置中三大框架版本不兼容问题解决_第2张图片

此时报了一个错误,可以看出这个问题是出在网关版本不够,所以我们提高网关版本到3.x。这里可能会有
人被误导为依赖冲突问题,然而并不是。因为IDEA遇到依赖冲突,一般会自动选择一个版本,不会让冲突发生。
问题-2-截图

Spring微服务架构GateWay配置中三大框架版本不兼容问题解决_第3张图片

很遗憾,再次抛出错误信息,我们发现刚才的问题虽然得到了解决,但是这里还是报错:在依赖中找不到相关的类或方
法。此时我们可以想到,可能是提升的高版本中有一部分类或方法没有。所以我们决定添加指定依赖版本来解决这个问题。
问题-3-截图

Spring微服务架构GateWay配置中三大框架版本不兼容问题解决_第4张图片

GateWay中配置jar包解决方式

Spring微服务架构GateWay配置中三大框架版本不兼容问题解决_第5张图片

在不停的遇到不同的缺失项问题,并添加依赖项解决时,出现了一个添加任何版本依赖都无法解决的问题。此时陷入
了僵局,但是既然是版本问题,这里解决不了,我们就避开问题描述,直接看向上一层spring-boot中jar包版本,
看是否是父工程jar包版本问题

经过几十个微服务jar包版本测试后,问题并没有得到解决…

最后只能把问题的指向放在SpringBoot版本问题上,经过一番摸索,最后在Spring官方文档中发现SpringBoot版本和
SpringCloud版本有对应关系的要求,如下图
SpringCloud官方给定版本对应图

Spring微服务架构GateWay配置中三大框架版本不兼容问题解决_第6张图片

于是,我们决定修改SpringCloud版本为SR5、SpringBoot版本为2.x/3.x。
问题-4-截图

Spring微服务架构GateWay配置中三大框架版本不兼容问题解决_第7张图片

问题并没有得到有效解决,一切问题回到原点。再次陷入沉思,经过又一番摸索。发现AlibabaSpringCloud这个框架的版
本,在官方文档中并没有得到相关数据,于是查找资料后发现。SpringBoot、SpringCloud、AlibabaSpringCloud这三
个框架的版本直接也有一一对应关系,如下图
三大框架版本对应关系图

Spring微服务架构GateWay配置中三大框架版本不兼容问题解决_第8张图片

并且如果想要使GateWay不出现问题,需要使用:spring cloud alibaba(2.2.1), spring cloud(Hoxton.SR3), 
springboot(2.2.5)版本,或者往上的对应版本。最后很轻松的解决了三大框架版本产生的问题。

问题解决的框架版本

Spring微服务架构GateWay配置中三大框架版本不兼容问题解决_第9张图片

启动网关微服务成功

Spring微服务架构GateWay配置中三大框架版本不兼容问题解决_第10张图片

你可能感兴趣的:(SpringBoot,spring,微服务,架构,经验分享)