文档首页/ 微服务引擎 CSE/ 常见问题/ ServiceComb引擎/ ServiceComb专享版引擎版本从1.x升级到2.x时有哪些注意事项?
更新时间:2023-11-07 GMT+08:00

ServiceComb专享版引擎版本从1.x升级到2.x时有哪些注意事项?

ServiceComb引擎专享版从1.x升级到2.x的过程中及升级完以后可能会出现的现象及解决方法如下:

  • 现象1:在ServiceComb引擎专享版从1.x版本升级至2.x版本的过程中,使用接口获取配置或更新配置失败,报connection refused或Connection was closed,出现错误信息示例如下:
    [ERROR] Config update from xxx.xxx.xxx.xx failed. Error message is [Connection refused: xxx.xxx.xxx.xx]. org.apache.servicecomb.config.client.ConfigCenterClient$ConfigRefresh.lambda$null$13(ConfigCenterClient.java:428)

    [ERROR]Config update from xxx.xxx.xxx.xx failed. Error message is [Connection was closed]. org.apache.servicecomb.config.client.ConfigCenterClient$ConfigRefresh.lambda$null$13(ConfigCenterClient.java:428)

    解决方法:ServiceComb引擎专享版1.x版本升级至2.x版本时配置中心会有短暂的重启,重启期间获取配置或更新配置会报错断连。因此引擎升级过程中避免更新配置,升级完成后该问题即可解决。

  • 现象2:使用引擎版本为1.x配置中心接入的用户,无法使用“业务场景治理”功能。

    解决办法:由于引擎版本为2.x的配置中心换成了kie,需要将配置中心接入方式切换为kie,具体切换方式详见Spring Cloud使用配置中心中相关内容。

  • 现象3:在使用版本为2.x的ServiceComb引擎时,使用导入配置文件功能,存在原配置中心格式的文件无法导入,提示文件为空或者格式错误。

    解决办法:将配置文件的配置项格式修改为2.x引擎要求的配置文件格式,新的配置文件为json文件,内容格式如下:

    {
        "data":[
            {
                "key":"xxx",
                "labels":{
                    "environment":"xxx",
    		"service": "xxx",
    		"app": "xxx",
    		"version": "xxx"
                },
                "value":"xxx",
                "value_type":"text",
                "status":"enabled"
            },
    		{
                "key":"xxx",
                "labels":{
                    "environment":"xxx"
                },
                "value":"xxx",
                "value_type":"text",
                "status":"enabled"
            },
    		{
                "key":"xxx",
                "labels":{
                    "environment":"xxx",
    		"service": "xxx"
                },
                "value":"xxx",
                "value_type":"text",
                "status":"enabled"
            },
    		{
                "key":"xxx",
                "labels":{
                    "environment":"xxx",
    		"service": "xxx",
    		"app": "xxx"
                },
                "value":"xxx",
                "value_type":"text",
                "status":"enabled"
            }
        ]
    }

    其中:

    • key和value是配置项对应的键和值,其为必填。
    • labels是配置范围,其为必填,通过填写environment,service,app,version等字段来确定配置范围。
    • value_type是配置项类型,其为必填,可以选择ini、json、text、yaml、properties、xml,默认为text。
    • status是配置是否启用,其为选填,可以选择enabled(开启),disabled(关闭),默认关闭。
  • 现象4:若在ServiceComb引擎1.x版本的配置中心设置了全局配置,当升级到2.x之后,全局配置根据配置中心升级后的范围会相应的自动调整作用范围environment=${environmentName},environmentName取值可以为空、development、testing、acceptance或production。此时如果SDK调整以kie作为配置中心时,需要在项目配置文件中增加自定义标签以获取该部分配置,以下以environment=production为例展示:

    spring-cloud-huawei框架:

    spring:
      cloud:
        servicecomb:
          config:
            serverType: kie
            kie:
              customLabel: environment
              customLabelValue: production
    servicecomb-java-chassis框架:
    servicecomb:
      kie:
        customLabel: environment
        customLabelValue: production