技术专题
灰度发布
本篇介绍SuperMap云原生GIS的灰度发布技术能力、适用场景以及如何在iManager中进行灰度发布。
灰度发布是GIS服务网格技术提供的一种在黑与白之间平滑过渡的发布方法。管理员可以在新版本上线前收集用户反馈、修复版本漏洞、把控产品质量、提升用户体验,使得GIS应用系统新旧版本之间升级更加平滑、稳定。
SuperMap iManager利用灰度发布,对定制的服务或修复了漏洞的某个GIS微服务局部更新上线,适用于部分用户体验新版本,而稳健用户仍沿用当前稳定版本,确保服务稳定之后逐步地全面上线。配合服务的局部升级能力(参见基础服务管理中的“修改镜像”功能),可只对单个服务进行灰度发布,实现微服务的滚动更新,有效控制和规避了大批量服务更新带来的风险,完善了上线流程。
以ispeco-dashboard-api服务为例,为您详细介绍如何在iManager中进行灰度发布:
- 登录SuperMap iManager,在左侧导航栏点击站点管理->创建;
-
输入站点名称“Best Practice”,在站点类型中选择GIS云套件,点击确定进行创建;
- 进入您创建的GIS云套件页面,在服务列表中找到ispeco-dashboard-api服务;
- 点击ispeco-dashboard-api右侧操作中的灰度发布按钮;
-
输入版本“v2”,选择灰度发布策略“基于请求头匹配的策略”,输入请求头“grayrelease”,输入匹配值“version2”,点击确定;
- 编辑灰度发布后,系统会创建新的服务ispeco-dashboard-api-v2。在服务列表中找到ispeco-dashboard-api-v2,点击ispeco-dashboard-api-v2右侧的修改镜像按钮;
-
修改镜像tag为“test”,点击确定;
提示:
您需要将用于灰度发布的镜像push至镜像仓库,此处填入您的镜像仓库地址与名称。 - 打开Postman(或类似软件),对
http://192.168.17.145:30704/manager/web/api/service/nodes
执行GET请求,获取服务节点信息,请求方法介绍请参见GIS云套件->API->service->nodes->GET。在请求头中输入token,获取token的方法请参见GIS云套件->API->tokens;新增请求头“grayrelease”,匹配值“version2”。 -
发送请求,响应结果如下图所示:
在步骤(8)中,若不填入请求头“grayrelease”与匹配值“version”2,响应结果为ispeco-dashboard-api服务返回的值;填入后响应结果为ispeco-dashboard-api-v2服务返回的值。灰度发布功能说明请参见教程->站点管理->GIS云套件->GIS云套件管理。