MSE Nacos相对于开眼Nacos额外提供了配置加密、推送轨迹等功能,保障高可用,并提供了丰富的运维工具,操作十分方便。本节介绍从开源Nacos迁移到天翼云Nacos实例。
前提条件
1. 已经创建Nacos实例,参考#2.1.3 创建Nacos实例
2. 已经在Nacos实例上创建需要迁移的命名空间
迁移配置
1. 在开源控制台导出需要迁移的配置
(1) 登陆开源Nacos自带的原生控制台
(2) 在配置列表页面选择命名空间,点击单选框选中需要迁移的配置
(3) 在配置列表下方点击导出,然后选择导出选中的配置。
(4) 然后在下载中可以看到导出的压缩包文件nacos_config_exportxxxxx.zip。
2. 在MSE控制台页面导入配置
(1) 登录微服务引擎MSE注册配置中心管理控制台,选择资源池。
(2) 在左侧导航栏,选择注册配置中心 > 实例列表。
(3) 在实例列表页面,单击目标实例ID、实例名称或者目标行“管理”按钮均可跳转至实例基础信息页面。
(4) 在基础信息页面,点击配置管理 >配置列表,选择命名空间。
(5) 点击导入配置,在弹出的导入配置框中确认目标命名空间,选择相同配置的处理策略(策略详细介绍见同步配置),点击上传配置文件,最后点击确定,即可开始导入文件。
(6) 导入后查看配置列表,可以看到配置已经导入成功。
3. 在应用完成迁移以前,如果需要变更配置文件,则需要在两边同步更新,以避免业务出现不一致的情况。
修改业务配置参数
根据不同的应用和框架,需要修改的配置参数不完全相同。但总体来说最重要的四个字段是Nacos服务端访问地址,命名空间ID,用户名以及密码。
1. 迁移Java应用
Java应用一般情况下是直接也来nacos-client。以pom.xml依赖文件为例:
<dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> <version>${nacos.version]</version> </dependency> |
如果是在代码中直接使用properties方式配置Nacos访问信息,则需要修改
Properties properties = new Properties(); properties.put(PropertyKeyConst.SERVER_ADDR, "Nacos访问地址"); properties.put(PropertyKeyConst.NAMESPACE, “命名空间"); properties.put(PropertyKeyConst.USERNAME, "username); properties.put(PropertyKeyConst.PASSWORD, “password"); |
2. 迁移Spring Boot 应用
Spring boot应用一般情况下Nacos的相关配置在application.properties文件中。
同样是修改Nacos服务端访问地址,命名空间ID,用户名以及密码等字段。
properties.put(PropertyKeyConst.SERVER_ADDR, "Nacos访问地址"); nacos.config.server-addr=${Nacos的访问地址} nacos.config.namespace=${命名空间ID} nacos.config.username=${用户名} nacos.config.password=${密码} |
3. 迁移spring-cloud应用
Spring cloud应用一般情况下存在如下依赖:
<dependency> |
一般情况下Nacos配置文件包含在bootstrap.properties 或者bootstrap.yml文件中。需要修改的配置项如下所示:
spring: |
源配置中心下线
当配置迁移完毕且应用已经全部切换至目标配置中心后,可以停止更新源配置中心,确认没有连接或监听的情况下,可以将源注册中心停止,完全使用目标配置中心。