SpringCloud版本升级

SpringCloud版本升级

1.前言
2018年保险大平台开发初期,SpringBoot版本为1.5.x,至今已过去两年,当前稳定版本已经升级到2.3.x, 2.5和1.5相比,在关联的spring版本以及springCloud版本上有较大区别,从系统可维护性,安全性等综合考虑,计划将大平台升级到2.3.x,相应的springCloud版本升级到Hoxton.SRX.。
2.升级方案
在这里插入图片描述
从上表可以看出,由于zuul、hystrix、ribbon等基础库基本可以做到兼容(zuul、hystrix等均停止新特性开发)。
根据eureka官方文档,1.x版本的服务端和客户端保持协议兼容。而且,通常情况下服务端版本高于客户端版本时是非常安全的。
因各系统间接口调用均基于HTTP接口,各业务API之间理论上不存在兼容问题。主要需要进行POC验证的内容包括:1)新旧版本的eureka服务端和eureka客户端之间的兼容性;2)新版版本网关与旧版本各应用服务之间的兼容性。
考虑到相关系统众多,实现整体划一方式的同步版本升级较难落地。因此计划采用逐步升级的方式分批完成各系统升级工作。
3.解决方案
在这里插入图片描述
目前针对本项目做的修改如下:
1. 修改pom文件依赖
2. 修改yaml文件命名
3. 根据相应的class类错误导入新的依赖包

pom修改如下:

<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.3.5.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
<!--链路跟踪-->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-openfeign</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
		</dependency>
mysql版本6.0
<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>6.0.6</version>
		</dependency>
<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Hoxton.SR8</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

yaml文件修改如下:

  pagehelper:
  helper-dialect: mysql
  reasonable: true
  support-methods-arguments: true
  params: count=countSql
  page-row-bounds: true
  eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      default-zone: http://localhost:8761/eureka
  instance:
    prefer-ip-address: true
    hostname: ${spring.cloud.client.ip-address}
    instance-id: ${spring.cloud.client.ip-address}:${server.port}
feign:
  hystrix:
    enabled: true
  client:
    config:
      default:
        connect-timeout: 60000
        logger-level: NONE
        read-timeout: 60000
ribbon:
  read-timeout: 120000
  connect-timeout: 60000
##熔断时间设置
hystrix:
  command:
    default:
      core-size: 30
      maximum-size: 50
servlet:
    multipart:
      enabled: true
      max-file-size: 100MB
      max-request-size: 100MB
    ##解决网关文件上传乱码问题 2.3.5版本新配置
    encoding:
      charset: UTF-8

  #    在设定时区的时候,如果设定serverTimezone=UTC,会比中国时间早8个小时,如果在中国,可以选择Asia/Shanghai或者Asia/Hongkong,
```driver-class-name: com.mysql.cj.jdbc.Driver
publisher-confirms-type: correlated

import org.springframework.cloud.netflix.feign 需要修改成import org.springframework.cloud.openfeign

    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值