继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Spring Cloud Alibaba升级到2.1.0

大目
关注TA
已关注
手记 133
粉丝 6638
获赞 1784

TIPS

本文基于Spring Cloud Greenwich SR3编写,理论支持Spring Cloud Greenwich所有版本。

对于非Greenwich版本,请前往 https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明 查看Spring Cloud与Spring Cloud Alibaba的版本兼容性关系,自行升级到对应的兼容版本。例如:你用的是Spring Cloud Finchley,那么应使用Spring Cloud Alibaba 2.0.0,以此类推。

最近,Spring Cloud Alibaba已经从Spring Cloud孵化器中孵化成功。孵化成功后的最新版本是2.1.0。这一节来详细探讨如何将Spring Cloud Alibaba从0.9.0升级到2.1.0。

从0.9.0开始,Maven的Group id发生了变化!

  • 0.9.0的Group id是 org.springframework.cloud
  • 0.9.0以上的版本是 com.alibaba.cloud

这看起来还挺吓人的,而且此前也引发了一些吐槽。其实这主要是由于Spring Cloud考虑简化自己的Release Train(即:Spring Cloud自身的版本管理),于是修改了发布政策:非Spring Cloud团队维护的Spring Cloud的子项目,一律使用自己的GroupId即可,不再强制使用 org.springframework.cloud

图片描述

从功能上讲,Spring Cloud Alibaba 2.1.0和0.9.0区别并不大,所以升级还是比较轻松的。下面列出升级的具体步骤:

一、升级依赖管理器

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-alibaba-dependencies</artifactId>
  <version>0.9.0.RELEASE</version>
  <type>pom</type>
  <scope>import</scope>
</dependency>

修改为:

<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-alibaba-dependencies</artifactId>
  <version>2.1.0.RELEASE</version>
  <type>pom</type>
  <scope>import</scope>
</dependency>

其实就是改个groupId以及version。

二、升级Starter

将Spring Cloud Alibaba所有相关的Starter依赖(主要是以 spring-cloud-starter-alibaba- 开头的依赖),的groupId,全部更换成com.alibaba.cloud

例如:将:

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

修改为:

<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

三、升级Server软件版本

由于Spring Cloud Alibaba使用了Nacos、Sentinel Dashboard、RocketMQ,所以还得升级这三款软件的Server端。

TIPS

普及一个技巧:可根据客户端版本,去下载相同版本/兼容版本的Server端。

举个例子:

  • 通过分析,可以发现 spring-cloud-starter-alibaba-nacos-discovery 使用了Nacos Client 1.1.1,所以下载Nacos Server 1.1x 肯定是兼容的。

当然,其实在官方文档 https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明

分别下载:

  • Nacos Server 1.1.x
  • Sentinel Dashboard 1.6.x
  • RocketMQ 4.4.x(笔者经过测试,使用RocketMQ 4.5.1也是OK的)

笔者使用的是如下版本,下载地址点击即可跳转。

百度盘下载加速器地址在:https://git.imooc.com/coding-358/resource 里面有贴。

四、修正编译报错

如果你使用了原Spring Cloud Alibaba的一些类,那么升级后,很可能会报错。这主要是因为,Spring Cloud Alibaba的包名结构也发生了变化。原先的包结构是 org.springframework.cloud.xxx ,升级后包名也改成了com.alibaba.cloud.xxx

重新导一下包一下就OK了。

···················
欢迎关注课程:
面向未来微服务:Spring Cloud Alibaba从入门到进阶

打开App,阅读手记
11人推荐
发表评论
随时随地看视频慕课网APP

热门评论

大目老师好,我有个问题不知道怎么解决所以过来请教一下。同样的项目在mac系统下服务调不通报错feign.RetryableException: Read timed out executing GET XXX,但是windows10下是好的,这是我提的issue:https://github.com/alibaba/spring-cloud-alibaba/issues/1072,望老师解答,双十二优惠届时一定会买老师的课。

大目老师,当spring cloud alibaba 版本改成 2.1.0 对应的sentinel 版本1.6.3 发现课程中的8-5的流控配置一节中的链路模式失效,这个是因为1.6.3 增加了Web Servlet过滤器中改用统一的上下文名称。这个如何修改?

查看全部评论