全链路编排建模
全链路编排建模工具,只提供最经典和最常用的蓝绿灰度发布场景功能,并不覆盖框架所有的功能
全链路蓝绿发布编排建模
① 导航栏上选择〔全链路服务蓝绿发布〕
② 〔全链路服务蓝绿发布〕界面的工具栏上,点击【新建】按钮,弹出【新建配置】对话框。确认下面选项后,点击【确定】按钮后,进行全链路蓝绿发布编排建模
〔订阅参数〕项。选择〔局部订阅〕或者〔全局订阅〕,通过下拉菜单〔订阅组名〕和〔订阅服务名〕,〔订阅服务名〕可以选择网关(以网关为发布入口)或者服务(以服务为发布入口)。如果是〔全局订阅〕,则不需要选择〔订阅服务名〕
〔部署参数〕项。选择〔域网关模式〕(发布界面上提供只属于〔订阅组〕下的服务列表)或者〔非域网模式〕(发布界面上提供所有服务列表)
〔发布策略〕项。选择〔版本策略〕或者〔区域策略〕
〔路由类型〕项。选择〔蓝 | 绿 | 兜底〕或者〔蓝 | 兜底〕
③ 在〔蓝绿条件〕中,分别输入〔蓝条件〕和〔绿条件〕
〔蓝条件〕输入a==1
〔绿条件〕输入a==1&&b==2
使用者可以通过〔条件校验〕来判断条件是否正确。例如,在〔绿条件〕区的校验文本框里,输入a=1,执行校验,将提示〔校验结果:false〕,输入a=1;b=2,将提示〔校验结果:true〕
④ 在〔蓝绿编排〕中,分别选择如下服务以及其版本,并点击【添加】按钮,把路由链路添加到拓扑图上
服务discovery-guide-service-a,〔蓝版本〕=1.1,〔绿版本〕=1.0,〔兜底版本〕=1.0
服务discovery-guide-service-b,〔蓝版本〕=1.1,〔绿版本〕=1.0,〔兜底版本〕=1.0
⑤ 如果希望内置Header参数,可以〔蓝绿参数〕的文本框中输入
⑥ 全链路编排建模完毕,点击工具栏上【保存】按钮进行保存,也可以先点击【预览】按钮,在弹出的【预览配置】对话框中,确认规则策略无误后再保存。使用者可以访问Nacos界面查看相关的规则策略是否已经存在
⑦ 对于已经存在的策略配置,可以通过点击工具栏上【打开】按钮,在弹出的【打开配置】对话框中,根据上述逻辑相似,确定〔订阅参数〕项后,选择〔打开远程配置〕(载入Nacos上对应的规则策略)或者〔打开本地配置〕(载入本地硬盘上规则策略文件rule.xml)
⑧ 对于已经存在的策略配置,如果想重置清除掉,点击工具栏上【重置】按钮进行重置清除
全链路灰度发布编排建模
① 导航栏上选择〔全链路服务灰度发布〕
② 在〔灰度条件〕中,〔灰度条件〕(灰度流量占比)选择95%,〔稳定条件〕(稳定流量占比)会自动切换成5%
其它步骤跟〔全链路蓝绿发布编排建模〕相似,但比其简单
全链路流量侦测
全链路蓝绿发布流量侦测
① 导航栏上选择〔全链路服务流量侦测〕
② 在〔侦测入口〕中,操作如下
〔类型〕项。选择〔网关〕或者〔服务〕,本示例的规则策略是配置在网关上,所以选择〔网关〕
〔协议〕项。选择〔http://〕或者〔https://〕,视网关或者服务暴露出来的协议类型而定,本示例暴露出来的是http协议,所以选择〔http://〕
〔服务〕项。选择一个网关名或者服务名,下拉菜单列表随着〔类型〕项的改变而改变,蓝绿发布规则策略是配置在discovery-guide-gateway上,所以选择它
〔实例〕项。选择一个网关实例或者服务实例的IP地址和端口,下拉菜单列表随着〔服务〕的改变而改变
③ 在〔侦测参数〕中,操作如下
添加〔Header〕项和〔Parameter〕项,也可以〔Cookie〕项,使用者可以任意选择2个
〔Header〕项。输入a=1
〔Parameter〕项。输入b=2
④ 在〔侦测链路〕中,操作如下
增加服务discovery-guide-service-a
增加服务discovery-guide-service-b
⑤ 在〔侦测执行〕中,操作如下
〔维护〕项。选择〔版本〕、〔区域〕、〔环境〕、〔可用区〕、〔地址〕或者〔组〕,维护表示在拓扑图上聚合调用场景的维度,本示例的规则策略是是基于版本维度进行发布,所以选择〔版本〕
〔次数〕项。选择执行侦测的次数,基于网关和服务的性能压力,使用者需要酌情考虑调用次数
〔次数〕项。选择执行侦测的同一时刻线程并发数,并发数是对于图形化桌面端而言的
〔成功〕项。用来显示侦测成功的百分比
〔失败〕项。用来显示侦测失败的百分比
〔耗时〕项。用来显示侦测执行的消耗时间
⑥ 点击工具栏上【开始】按钮开始侦测,在侦测执行过程中,可以点击工具栏上【停止】按钮停止侦测
从上述截图中,可以看到
- 在条件a==1&&b==2的〔绿条件〕下,执行〔网关〕->〔a服务1.0版本〕->〔b服务1.0版本〕的〔绿路由〕
⑦ 点击工具栏上【查看】按钮查看拓扑图上所有节点配置的规则策略,包括局部配置和全局配置
⑧ 支持直接n-d-version策略路由Header驱动的蓝绿发布流量侦测
全链路灰度发布流量侦测
① 导航栏上选择〔全链路服务流量侦测〕
② 在〔侦测入口〕中,操作如下
- 〔服务〕项。灰度发布规则策略是配置在discovery-guide-zuul上,所以选择它
③ 在〔侦测参数〕中,不需要输入任何值
④ 在〔侦测执行〕中,〔次数〕项的值越大,灰度权重百分比越准确
其它步骤跟〔全链路蓝绿发布流量侦测〕相似,但比其简单
从上述截图中,可以看到
执行〔网关〕->〔a服务1.1版本〕->〔b服务1.1版本〕的〔灰度路由〕权重百分比95%左右
执行〔网关〕->〔a服务1.0版本〕->〔b服务1.0版本〕的〔稳定路由〕权重百分比5%左右
全链路蓝绿灰度发布混合流量侦测
① 全链路蓝绿发布 + 灰度发布混合模式下流量侦测
在网关上配置了蓝绿发布规则策略,在a服务上配置了灰度发布规则策略
② 全链路灰度发布 + 蓝绿发布混合模式下流量侦测
在网关上配置了灰度发布规则策略,在a服务上配置了蓝绿发布规则策略
本文分享自微信公众号 - Nepxion开源社区(iMicroService)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。