v1.0.0 升级 v1.1.0 说明

本文档描述如何从 1.0.0 版本迁移升级到 1.1.0 版本。

最新产物版本

组件版本号
smn-relayer1.1.0
smn-ca1.1.0
smn-service1.1.0
libsmnSDK-JS1.1.0
libsmnSDK-Android1.1.0
libsmnSDK-iOS1.1.0

升级顺序

  1. SMN CA & CACLI
  1. SMN Relayer
  1. SMN Service
  1. libsmnSDK-JS/Android/iOS

SMN CA & CACLI 升级

SMN CA 1.1.0 完全向下兼容 1.0.0 版本,可根据 《SMN CA 部署》 文档中的“更新 SMN CA 实例”章节描述进行升级。

1.1.0 版本提供的 CLI 命令与 1.0.0 版本相比有改动,具体见《CA CLI 命令》。需要注意的是,SMN CACLI 的版本必须与 SMN CA 的版本一致。

SMN Relayer 升级

  1. Relayer 提供的接口需要同时被公网和内网访问,因此增加一个内网端口,即 APIServer.Port,从端口层面进行隔离,防止从公网越权访问到仅允许内网访问的接口,有以下两种升级方案:
升级方案操作步骤
不停机更新(1)新增加两台主机,根据《SMN Relayer 部署》部署 1.1.0 版本的 smn-relayer。
(2)新增加一个
公网服务器组(目标组),向服务器组中添加新增加的两台主机,后端服务器流量转发端口设置为 RelayerServer.Port,健康检查端口设置为 APIServer.Port,健康检查路径为 /check,并把新增加的公网服务器组添加到当前外网负载均衡器的转发规则中,同时移除旧的服务器组。
(3)新增加一个
内网服务器组(目标组),向服务器组中添加新增加的两台主机,后端服务器流量转发端口设置为 APIServer.Port,健康检查端口设置为 APIServer.Port,健康检查路径为 /check,并把新增加的公网服务器组添加到当前内网负载均衡器的转发规则中,同时移除旧的服务器组。
(4)观察 1.0.0 版本的 smn-relayer 服务,在没有流量后可关机下线,并删除 1.0.0 旧的服务器组。
原服务停机更新(1)更新 relayer.toml 配置文件,增加 APIServer.Port 配置,如下

# 内部应用调用接口,包含所有 API,如 /sendandreceive 以及 /websocket 和 OTT 相关 token 接口,及 /check 接口
# 不可以和 RelayerServer.Port 使用同一个端口
[APIServer]
Port = 8070

(2)采用 1.1.0 版本的镜像,按照《
SMN Relayer 部署》文档中的”更新 relayer“章节描述进行更新,需要注意的是 docker 启动命令与 1.0.0 版本相比,在暴露的端口和 volume 处有变化,具体见《SMN Relayer 部署》文档
(3)更新原
公网服务器组(目标组),后端服务器流量转发端口设置为 RelayerServer.Port,健康检查端口设置为 APIServer.Port,健康检查路径为 /check。
(4)更新原
内网服务器组(目标组),后端服务器流量转发端口设置为 APIServer.Port,健康检查端口设置为 APIServer.Port,健康检查路径为 /check。
  1. 与 1.0.0 版本相比,preStop 接口在 1.1.0 版本中增加访问鉴权,可根据《Relayer API》文档中的“preStop 接口”描述进行适配升级。

SMN Service 升级

  1. 1.1.0 向下兼容 1.0.0 版本,可根据《SMN Service 部署》文档中的“更新 SMN Service”章节描述进行升级。
  1. 与 1.0.0 版本相比,preStop 接口在 1.1.0 版本中增加访问鉴权,可根据《MPC Node Service API》文档中的“preStop 接口”描述进行适配升级。

libsmnSDK-JS 升级

1.1.0 版本对比 1.0.0 版本,有以下几项代码书写层面的不兼容更新,在升级时需要注意:

libsmnSDK-Android 升级

1.1.0 版本对比 1.0.0 版本,有以下几项代码书写层面的不兼容更新,在升级时需要注意:

libsmnSDK-iOS 升级

1.1.0 版本对比 1.0.0 版本,有以下几项代码书写层面的不兼容更新,在升级时需要注意: