KOCA版本 :2.7-4.0
KOCA模块 : 所有模块
模块版本 :2.7-4.0
场景 :KOCA版本升级
将KOCA 2.7.0-RELEASE升级到4.0.0可能会出现的几个问题
KOCA2.7.0-RELEASE升级到4.0.0时,因为版本跨度比较大,涉及到的模块比较多,在升级时可能会出现不少问题。下面将会列出几个比较大问题及解决办法。
如何升级
-
坐标替换
koca在3.0.0及以后,坐标中的groupId有很大改变,例如koca-admin-basic模块
3.0.0以前
<dependency> <groupId>szkingdom.yf.koca.admin</groupId> <artifactId>koca-admin-basic</artifactId> </dependency>
3.0.0及以后
<dependency> <groupId>com.szkingdom.koca.admin</groupId> <artifactId>koca-admin-basic</artifactId> </dependency>
-
修改配置文件
部分模块的配置有更新,如果启动报错或功能异常,可到KOCA官网找到对应模块的文档,检查配置是否正确。
如安全认证模块的配置层级有很大改变。
-
数据库升级
如果数据库中存在需要保存的存量数据,可选择执行交付件下04.database/{数据库类型}/data(table)/update的增量脚本进行升级,脚本选择3.0.0到4.0.0的所有脚本,先执行建表脚本(table目录下),再执行数据脚本(data目录下)。
如果数据库中没有数据或不需要保存存量数据,选择交付件下04.database/{数据库类型}/{模块}/data(table)/all全量脚本执行。同样是先执行建表脚本,后执行数据脚本。
-
前端升级
目前koca前端模块分为vue2和vue3,有的模块既有vue2版也有vue3版,有的只有其中一个版本,所以在升级前端的时候,先确定要升级的项目中使用了哪些模块,以便选择vue版本。
4.0.0的后端对应的vue2版的前端模块版本为3.7.0,vue3版的4.0.0。
网关升级
由于KOCA GATEWAY从3.0.0开始后改动比较大,所以2.7.0-RELEASE升级到4.0.0可能会出现不少问题。
关于网关的相关依赖和配置可以参考交付件的bootapp(03.application\01.admin-msa\4-koca-gate-bootapp)
-
网关依赖
<dependency> <groupId>com.szkingdom.koca.cloud</groupId> <artifactId>koca-cloud-starter-gateway</artifactId> </dependency> <dependency> <groupId>com.szkingdom.koca.cloud</groupId> <artifactId>koca-cloud-gateway-support</artifactId> </dependency>
-
确定认证方式
一种是网关作为认证中心,另外一种是非网关服务作为认证中心。脚手架提供的bootapp的认证方式为第二种。
确定好认证方式后,引入相关依赖,不同认证方式,依赖会有不同。具体参考安全认证开发指南。
其它微服务引入:
<dependency> <groupId>com.szkingdom.koca.base</groupId> <artifactId>koca-auth-web</artifactId> </dependency> <dependency> <groupId>com.szkingdom.koca.boot</groupId> <artifactId>koca-boot-starter-auth</artifactId> </dependency>
-
添加配置
包括网关自身的配置及认证相关的配置。其中安全认证的配置曾经有很大改变。
参考README.MD
-
可能会出现的问题。
(1)
解决办法:排除掉所有直接依赖或传递依赖的servlet-api。如果有通过servlet-api扩展过一些功能,换成webflux来实现。
(2)
解决办法:去掉这个配置。
amo升级
-
amo有两种使用方式,一种是产品化amo;一种是模块化,选择部分模块使用。产品化amo包含了所有amo的功能模块,可以通过docker和ansible部署。
首先要确定使用的是那种。
-
产品化升级。
-
模块化升级
因为轻量化日志监控和轻量化链路监控只更新到3.4.0。所以如果有使用这两个模块,只能升级到3.4.0(1)
(1)修改依赖坐标及版本
<groupId>szkingdom.yf.koca.admin</groupId>修改为<groupId>com.szkingdom.koca.amo</groupId>
版本修改为4.0.0
(2)修改配置
参考amo文档及bootapp(03.application\02.amo-standalone\koca-amo-bootapp)
-
数据库升级
执行交付件下3.0.0–4.0.0的增量脚本。
注册中心和配置中心升级
参考:
配置中心bootapp(03.application\01.admin-msa\2-koca-cloud-admin-bootapp)
注册中心bootapp(03.application\01.admin-msa\1-koca-registry-eureka-server-bootapp)