前阵子全面升级了商城项目,支持SpringBoot2.7.0。相信很多朋友都已经知道了。最近抽空升级了它的微服务版本mall-swarm,支持最新版本的SpringCloud&Alibaba。今天就来谈谈升级内容和升级过程中遇到的一些问题。希望对大家有所帮助!SpringCloud实战电商项目mall-swarm(8.8k+star)地址:https://github.com/macrozheng/mall-swarm技术栈升级mall-swarm是mall项目的微服务版本,其功能有和mall项目基本一样,只是schema不同。因此,mall项目中的升级技术,mall-swarm已经基本升级了。这里有一些要点要提到。其他升级信息请参考商城项目综合升级。技术发布说明SpringCloudHoxton.SR5->2021.0.3微服务框架SpringCloudAlibaba2.2.0->2021.0.3微服务框架SpringBoot2.3.0->2.7.0Container+MVCFrameworkSpringSecurityOauth22.2.2->2.2。5认证授权框架MyBatis3.4.6->3.5.9ORM框架Knife4j2.0.4->3.0.3文件制作工具Nacos1.3.1->2.1.0注册中心和配置中心SpringBootAdmin2.3.0->2.7.0微服务监控升级过程下面是升级过程中遇到的一些问题,大家可以参考下!支持SpringBoot2.7.0由于mall-swarm项目采用SpringCloudGateway+Oau??th2实现了统一的鉴权和认证权限解决方案,所以这里不会出现mall项目出现的循环依赖问题。升级到SpringBoot2.7.0还是比较顺利的,直接默认支持!支持SpringCloud2021升级SpringCloud2021后,SpringCloud中一个重要的组件被弃用了,那就是作为负载均衡组件的Ribbon。在需要服务间调用的服务中,比如网关服务,我们需要添加LoadBalancer依赖:/dependency>否则在服务之间调用时,会返回ServiceUnavailable错误信息。{“时间戳”:“2022-06-28T02:36:31.680+00:00”,“路径”:“/auth/oauth/token”,“状态”:503,“错误”:“服务不可用”,“requestId":"c480cefa-1"}支持Nacos2.1.0。Nacos之前的项目都是使用Nacos作为注册中心和配置中心。这次,版本从1.3.1升级到了最新的2.1.0版本。以上的使用基本不变,除了Windows启动Nacos时需要添加standalone参数。startup.cmd-mstandalone下面是使用Nacos作为配置中心的截图。微服务权限方案升级微服务权限方案升级,适配最新版本的SpringCloud。实现思路:mall-auth认证服务负责统一认证,mall-gateway网关服务负责验证认证和认证,其他API服务(如mall-admin、mall-portal)负责处理自己的业务逻辑.权限相关的逻辑只存在于认证服务和网关服务中,其他服务只是提供服务,没有任何权限相关的逻辑。详见支持Nacos2.1.0!这套SpringCloudGateway+Oau??th2终极权限解决方案升级啦!.Knife4jupgrade将Knife4j的版本从2.x升级到3.x。由于Knife4j基本上就是换了新皮的Swagger,所以只需要解决之前Swagger升级的问题即可。具体可以参考升级SpringBoot2.6.x版本后,Swagger没用了!.看一下新版Knife4j的页面,和之前的版本基本一样。微服务监控升级mall-swarm使用SpringBootAdmin作为微服务监控,升级后的使用与之前基本一致。部署文档更新mall-swarm项目的部署文档也同步更新了。有关详细信息,请参阅以下链接。Windows环境下mall-swarm的部署https://www.macrozheng.com/ma...Linux环境下mall-swarm的部署(基于Docker容器)https://www.macrozheng.com/ma..。运行效果演示可能有小伙伴不知道这个项目,下面是mall-swarm微服务电商项目的demo效果。使用Nacos作为注册配置中心;使用Knife4j作为API接口文档工具;微服务应用监控系统;微服务日志收集系统;微服务应用程序容器管理。总结今天分享了mall-swarm项目的升级内容和升级过程中遇到的一些问题,基本可以顺利过渡。由于用了日期作为版本号,总觉得SpringCloud的版本号看起来有点乱,最新的稳定版是2021,估计2022版本在路上。不容易开源项目源代码地址。如果您觉得项目有帮助,请点Star支持一下!https://github.com/macrozheng...
