应用管理与运维平台 ServiceStage-微服务专享版引擎版本从1.x升级到2.x时有哪些注意事项?

时间:2025-02-12 14:58:15

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

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

  • 现象1:在微服务引擎专享版从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)

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

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

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

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

    解决办法:将配置文件的配置项格式修改为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:若在微服务引擎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
support.huaweicloud.com/servicestage_faq/servicestage_07_0054.html