# 全量迁移
前置条件
准备两个ESB环境
测试环境包括1台ESB Governor、1台ESB-Server和1台API-Gateway,用户在测试环境创建资源、接口等数据。
生产环境包括1台ESB Governor、1台ESB-Server和1台API-Gateway,生产环境必须是一个空环境,不需要在服务器管理创建服务器组和服务器。
1.测试环境全量导出
使用manager账号登录测试环境,点击“管理门户->配置管理->API迁移”,进入API迁移页面,在右上角点击“全量导出”按钮,弹出修改资源环境配置页面。
在资源环境配置页面,点击“服务器”页签,修改服务器的IP端口,改为生产环境对应的IP和端口。
点击“业务服务地址”页签,修改业务服务地址的IP端口,改为生产环境对应的IP和端口,如果生产环境和测试环境的配置相同,不用修改。
点击“SAP源”页签,修改SAP源的配置,改为生产环境对应的IP端口、用户名、密码等配置,如果生产环境和测试环境的配置相同,不用修改。
点击“数据源”页签,修改数据源的配置,改为生产环境对应的IP端口、用户名、密码等配置,如果生产环境和测试环境的环境配置相同,不用修改。
资源环境配置修改完成后,点击“确定”按钮导出数据。
2.生产环境全量导入
使用manager账号登录生产环境,点击“管理门户->配置管理->API迁移”,进入API迁移页面,在右上角点击“全量导入”按钮,弹出全量导入页面。
选择从测试环境导出的全量压缩包,然后上传压缩包,导入全量数据。
如果生产环境是一个空环境,数据校验无误,会提示导入成功。
如果生产环境已有数据,重复导入全量数据,或者数据不完整时,会导入失败,并返回错误信息。
导入成功后,需要在服务器管理页面,点击“同步”按钮,同步数据。
# 增量迁移
前置条件
准备两个ESB环境
测试环境包括1台ESB Governor、1台ESB-Server和1台API-Gateway,用户在测试环境创建资源、接口等数据。
生产环境是通过全量迁移后的环境。
1.测试环境增量导出
使用manager账号登录测试环境,点击“管理门户->配置管理->API迁移”,进入API迁移页面,点击接口页签,在接口列表勾选要导出的接口,点击“增量导出”按钮,弹出修改资源环境配置页面。
在资源环境配置页面,修改服务器的IP端口为生产环境对应的IP端口。
修改业务服务地址、SAP源和数据源的IP端口、用户名、密码等配置,如果生产环境和测试环境的环境配置相同,不用修改。
资源环境配置修改完成后,点击“确定”按钮导出数据。
2.生产环境增量导入
使用管理员账号登录生产环境,点击“管理门户->配置管理->API迁移”,进入API迁移页面,点击接口页签,点击“增量导入”按钮,弹出增量导入页面。
选择从测试环境导出的增量压缩包,然后上传压缩包,导入增量数据。
增量导入时会校验接口使用的服务器、业务地址、端口、数据源的环境配置,展示校验结果。
为业务服务地址为例:
如果增量导入的业务服务地址在生产环境不存在(不存在ID相同业务服务地址),校验结果为“不存在”。
如果增量导入的业务服务地址在生产环境已存在(必须是ID相同,只是IP和端口相同不算是同一个业务服务地址),并且二者的配置都相同,校验结果是“未变更”。
如果增量导入的业务服务地址在生产环境已存在(必须是ID相同),但是二者的配置不相同,校验结果是“已变更”。
对于不同的校验结果,导入的操作是不一样的。
- 校验结果为“不存在”的业务地址,导入时会插入到生产环境数据库中,不可修改导入操作。
- 校验结果为“未变更”的业务地址,导入时不会插入到生产环数据库中。
- 校验结果为“已变更”的业务地址,导入时默认更新生产环数据库中的数据,用户可以修改导入操作不更新生产环境数据库中的数据。 修改业务服务地址的导入操作如下图:
服务器、端口、证书、数据源、SAP源、主题校验和导入操作和业务服务地址一致。
导入操作配置完后,点击“确定”按钮,保存增量数据。
导入成功后,需要在服务器管理页面,点击“同步”按钮,同步数据。
增量迁移时,如果接口在生产环境已存在,不会覆盖生产环境该接口的相同版本。
迁移前需要在测试环境修改该接口并生成新版本,然后再将该接口增量迁移到生产环境,导入成功后,查看该接口版本,测试环境生成的新版本会同步到生产环境,在生产环境切换发布版本。
# 中介迁移
前置条件
准备两个ESB环境
测试环境包括1台ESB Governor、1台ESB-Server和1台API-Gateway,用户在测试环境创建资源、接口等数据。
生产环境是通过全量迁移后的环境。
1.测试环境中介导出
使用manager账号登录测试环境,点击“管理门户->配置管理->API迁移”,进入API迁移页面,点击服务页签,在服务列表勾选要导出的中介服务(只要服务下存在API编排接口就是中介服务,没有API编排接口的服务无法使用中介迁移),点击“中介导出”按钮,弹出修改资源环境配置页面。
在资源环境配置页面,修改服务器的IP端口为生产环境对应的IP端口。
修改业务服务地址、SAP源和数据源的IP端口、用户名、密码等配置,如果生产环境和测试环境的环境配置相同,不用修改。
资源环境配置修改完成后,点击“确定”按钮导出中介数据。
2.生产环境中介导入
使用管理员账号登录生产环境,点击“管理门户->配置管理->API迁移”,进入API迁移页面,点击服务页签,点击“中介导入”按钮,弹出中介导入页面。
选择从测试环境导出的中介压缩包,然后上传压缩包,导入中介数据。
中介导入时,会校接口使用验服务器、业务地址、端口、数据源的环境配置,展示校验结果。
为业务服务地址为例:
如果中介导入的业务服务地址在生产环境不存在(不存在ID相同业务服务地址),校验结果为“不存在”。
如果中介导入的业务服务地址在生产环境已存在(必须是ID相同,只是IP和端口相同不算是同一个业务服务地址),并且二者的配置都相同,校验结果是“未变更”。
如果中介导入的业务服务地址在生产环境已存在(必须是ID相同),但是二者的配置不相同,校验结果是“已变更”。
对于不同的校验结果,导入的操作是不一样的。
- 校验结果为“不存在”的业务地址,导入时会插入到生产环境数据库中,不可修改导入操作。
- 校验结果为“未变更”的业务地址,导入时不会插入到生产环数据库中。
- 校验结果为“已变更”的业务地址,导入时默认更新生产环数据库中的数据,用户可以修改导入操作不更新生产环境数据库中的数据。
服务器、端口、证书、数据源、SAP源、主题校验和导入操作和业务服务地址一致。
导入操作配置完后,点击“确定”按钮,保存中介数据。
导入成功后,需要在服务器管理页面,点击“同步”按钮,同步数据。
中介迁移时,如果API编排接口在生产环境已存在,不会覆盖生产环境已发布的该接口的相同版本。
迁移前需要在测试环境修改该接口并生成新版本,然后再将该API编排接口迁移到生产环境,导入成功后,查看该接口版本,测试环境生成的新版本会同步到生产环境,在生产环境切换发布版本。
# 特殊场景说明
1.全量迁移时,测试环境有一台ESB-Server,生产环境有多台ESB-Server。
导出时,在资源环境配置页面,在服务器页签,将ESB-Server的IP端口修改为生产环境其中一台ESB-Server的IP端口。然后点击“确定”导出全量数据。
在生产环境导入全量数据压缩包,然后点击“管理门户->资源配置->服务器管理”,进入服务器管理页面,在服务器管理页签,点击“新增”按钮,添加生产环境的剩余服务器,服务器的服务器组选择已导入的服务器组。
添加服务器后,在新增的服务器操作列,点击“同步”按钮,同步接口数据。
2.测试环境有多台ESB-Server,生产环境有一台ESB-Server
导出时,在资源环境配置页面,在服务器页签,将一个ESB-Server的IP端口修改为生产环境ESB-Server的IP端口。然后点击“确定”导出全量数据。
在生产环境导入成功后,在服务器管理页面,只保留生产环境的ESB-Server服务器,删除其他ESB-Server服务器。然后在生产环境的ESB-Server服务器操作列,点击“同步”按钮,同步服务器。
3.数据迁移不支持离线模型接口,离线接口只能通过部署离线模型的方式进行迁移。
4.数据迁移只迁移接口相关的数据(接口的服务、系统、域、接口关联的服务器、业务地址、SAP源、数据源等),不迁移接口的安全配置,迁移成功后需要在生产环境重新配置。
5.数据迁移时,出现“解析WSDL的URL地址失败”导致迁移失败的问题。
使用数据库连接工具,打开测试环境的sam_wsdl表,查询WS_URL字段,测试wsdl地址是否能够访问(在生产环境测试)
如果生产环境无法连接到该wsdl地址,将该条wsdl记录的WS_URL字段改成以.wsdl结尾的文件名,然后保存记录。
从测试环境重新进行导出操作,然后在生产环境使用新导出的压缩包进行导入。