如何设计Nepxion Discovery应用界面
① 【组】下拉框的数据,通过查询服务组名列表接口获取到全部的组列表
【刷新】按钮点击,即通过该接口重置【组】下拉框的数据
② 【应用】包括网关或者服务,如果选择网关,即蓝绿灰度发布策略推送到网关,如果选择服务,即蓝绿灰度发布策略推送到服务。【应用】下拉框的数据,根据上面选中的【组】,【服务类型】为[ "service", "gateway"]
,通过根据组名和服务类型查询服务名列表接口获取到所属组下所有网关和服务
【刷新】按钮点击,即通过该接口重置【应用】下拉框的数据,以及下面【参与蓝绿灰度发布的服务列表】
① 列表中【参与蓝绿灰度发布的服务列表】,根据上面选中的【组】,服务类型为[ "service"]
,通过根据组名和服务类型查询服务名列表接口获取到所属组下所有服务
② 列表中多个选中的服务不能包含【应用】下拉列表选择的服务,需要弹出对话框提示。例如,在【应用】下拉列表中选择了discovery-guide-service-a
,那么【参与蓝绿灰度发布的服务列表】中就不能包含discovery-guide-service-a
注意:【应用】的下拉框和【参与蓝绿灰度发布的服务列表】的列表需要跟【组】的下拉框进行联动
建议:在存在多个【组】的情况下了,可以实现基于组的权限控制,一般来说,组的地位等同于部门,例如,有A组(部门)和B组(部门),等于用户张三属于A部门,那他无权对B部门的服务实施灰度蓝绿发布
该区域显示目前配置中心正在生效的蓝绿灰度发布的规则策略,通过Xml格式显示。如果用拓扑图来展现,就更直观
支持蓝绿发布、灰度发布和蓝绿灰度混合发布,支持内置参数。需要通过勾选启动对应的功能,未勾选的功能项默认灰掉
① 版本模式支持【动态(可排序)】和【静态(不可排序)】,分别对应到Yaml中的sort: version
和sort: time
字段,默认选中【动态(可排序)】
② 蓝绿发布支持【绿条件】和【蓝条件】两种条件,分别指旧版本链路和新版本链路的驱动条件,输入格式为SPEL表达式。【绿条件】和【蓝条件】的文本框不能留空,且两者不能相同
③ 灰度发布可以支持无限个【灰度条件】,输入格式为SPEL表达式,通过右侧的【+】和【-】进行增减。【灰度权重】指新版本链路所占的权重百分比(只允许输入0<=灰度权重<=100的整数值),例如,输入10,表示新版本链路所占的权重百分比为10%,旧版本链路所占的权重百分比为90%
所有灰度条件不能相同,跟蓝绿发布不同之处,灰度条件可以允许空(但只允许一个灰度条件为空)
④ 内置条件,需要首尾判断是否有空格
① 【执行兜底】。点击之前,需要判断上面的条件是否设置正确,如果不正确,弹出对话框提示。点击之后,把界面元素拼装成Yaml格式,并弹出对话框做二次确认,以免策略不符合预期而引起生产环境流量异常
预览项中,Yaml格式需要自行拼装,Xml格式通过校验Yaml格式版本蓝绿灰度发布接口从Yaml转化成Xml
二次确认后,通过根据Yaml格式创建版本蓝绿灰度发布接口把规则策略由控制台从Yaml转化成Xml保存到配置中心
保存到配置中心后,再通过查询规则配置接口向配置中心查询Xml格式的规则策略,并在文本区域显示给用户
执行兜底结果:
Xml规则...
② 【执行发布】。操作同执行兜底
执行发布结果:
Xml规则...
③ 【执行回滚】。操作同执行兜底
回滚到上一次状态
④ 【结束发布】。操作同执行兜底
结束发布结果:
Xml规则...
⑤ 【查看策略】。操作同执行兜底,但不需要判断设置的条件,只是简单的查看配置中心的规则策略
查看策略结果:
Xml规则...
注意:每次执行完,最好把界面相关字段值保存到数据库中或者解析配置中心的Xml规则策略得到,使得下次发布可以重用,不需要手工再输入一遍
用户手工填入Yaml格式的侦测策略,具体内容参考mock-inspector.yaml
该区域显示流量侦测测试结果,内容来自于日志采集器。如果用拓扑图来展现,就更直观
用户手工选择或者输入侦测条件,具体内容参考application.properties
【执行侦测】,调用发起自动化流量侦测测试任务接口,启动自动化流量侦测测试任务,返回测试任务的全局唯一ID(group@@serviceId
格式),根据该ID查询日志采集器,结果通过【流量侦测测试结果】显示
注意:每次执行完,最好把界面相关字段值保存到数据库中,使得下次发布可以重用,不需要手工再输入一遍
跟全链路蓝绿灰度发布界面操作一致
用户手工填入Yaml格式的发布策略,三个策略具体内容,分别参考mock-version-release-basic.yaml、mock-version-release-1.yaml、mock-version-release-2.yaml
该区域显示模拟流程测试结果,内容来自于日志采集器。如果用拓扑图来展现,就更直观
用户手工选择或者输入模拟条件,具体内容参考application.properties
【执行模拟】,调用发起自动化模拟流程测试任务接口,启动自动化模拟流程测试任务,返回测试任务的全局唯一ID(group@@serviceId
格式),根据该ID查询日志采集器,结果通过【模拟流程测试结果】显示
由于group@@serviceId
名称的任务同一时间只允许运行一个,启动自动化模拟流程测试任务之前,通过获取当前正在运行的自动化模拟流程测试任务列表接口预先判断任务是否已经在执行,如果是,需要弹出对话框提示阻止用户启动
注意:每次执行完,最好把界面相关字段值保存到数据库中,使得下次发布可以重用,不需要手工再输入一遍
2017-2050 ©Nepxion Studio Apache License
- 如何对接Foundation基础平台实施收敛集成
- 如何对接DevOps运维平台实施流量管控
- 如何部署对接DevOps运维平台的控制台
- 如何对接DevOps运维平台执行半自动化蓝绿灰度发布
- 如何使用DevOps运维平台对接的公共接口
- 如何设计Nepxion Discovery应用界面
- 如何实现Windows10下GraalVM本地镜像化
-
蓝绿灰度发布
-
流量染色
-
隔离路由
-
故障转移
-
多活单元化
-
限流熔断降级权限
-
网关动态路由
-
可观测监控
- 如何操作配置中心
- 如何理解框架开关配置
- 如何理解规则策略里内容格式配置
- 如何操作网关和服务的蓝绿灰度发布规则策略配置
- 如何操作网关动态路由规则策略配置
- 如何操作Sentinel规则策略配置
- 如何实施规则策略配置和业务配置在配置中心的合并和分离
- 如何理解自动扫描目录
- 如何自定义流量管控
- 如何自定义实现组合式的防护
- 如何自定义高级配置订阅功能
- 如何自定义订阅框架事件
- 如何自定义解决业务自身跨线程上下文切换的问题
- 如何自定义重用框架内置的Swagger模块
- 如何自定义Header全链路传递
- 如何遵循Nepxion Discovery网关标准实现对其它网关全链路流量管控的二次开发
- 如何遵循Nepxion Discovery服务标准实现对消息队列等其它中间件全链路流量管控的二次开发