[发明专利]全链路灰度发布方法、装置、微服务、网关及介质在审
申请号: | 202111661910.0 | 申请日: | 2021-12-30 |
公开(公告)号: | CN114428927A | 公开(公告)日: | 2022-05-03 |
发明(设计)人: | 裴勇;李振宇;赵占胜 | 申请(专利权)人: | 中和农信项目管理有限公司 |
主分类号: | G06F16/958 | 分类号: | G06F16/958 |
代理公司: | 深圳中一联合知识产权代理有限公司 44414 | 代理人: | 张良 |
地址: | 100000 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 全链路 灰度 发布 方法 装置 微服 网关 介质 | ||
本申请适用于计算机技术领域,提供了一种全链路灰度发布方法、装置、微服务、网关及介质,其中该方法包括:在接收到灰度请求时,获取灰度请求对应的所有下游微服务所在节点的灰度标识信息;下游微服务所在节点的灰度标识信息用于标识该下游服务所在节点是否为灰度节点;根据获取到的灰度标识信息,判断所有下游微服务所在节点中是否存在灰度节点;若所有下游微服务所在节点中存在灰度节点,则将所有灰度节点对应的下游微服务中的任一下游微服务作为目标微服务;将灰度请求转发至目标微服务。本申请能在降低灰度发布成本的同时,降低灰度发布的差错率。
技术领域
本申请属于计算机技术领域,尤其涉及一种全链路灰度发布方法、装置、微服务、网关及介质。
背景技术
所谓灰度发布就是在微服务上线时,将新版本的微服务只发布在微服务集群中部分节点上,通过引入一小部分流量进入新版本来验证功能的正确性和其他特性是否符合预期。一旦出现问题不至于所有请求都受到影响,这属于一种提升微服务稳定性的测试方法,所以也叫灰度验证。
目前灰度发布的方法是在每次发布新版本的微服务时,往往需要人为参与,例如分组设置、版本号修改等。这种需要人为参与的灰度发布方法,使灰度发布的成本高,而且容易出现差错。
发明内容
本申请实施例提供了一种全链路灰度发布方法、装置、微服务、网关及介质,可以解决灰度发布的成本高、且容易出现差错问题。
第一方面,本申请实施例提供了一种全链路灰度发布方法,包括:
在接收到灰度请求时,获取所述灰度请求对应的所有下游微服务所在节点的灰度标识信息;所述下游微服务所在节点的灰度标识信息用于标识该下游服务所在节点是否为灰度节点;
根据获取到的灰度标识信息,判断所述所有下游微服务所在节点中是否存在灰度节点;
若所述所有下游微服务所在节点中存在灰度节点,则将所有灰度节点对应的下游微服务中的任一下游微服务作为目标微服务;
将所述灰度请求转发至所述目标微服务。
其中,在所述在接收到灰度请求时,获取所述灰度请求对应的所有下游微服务所在节点的灰度标识信息之前,所述方法还包括:
在微服务启动时,确定所述微服务所在节点是否为灰度节点;
根据确定结果,获得所述微服务所在节点的灰度标识信息;所述灰度标识信息用于标识所述微服务所在节点是否为灰度节点;
将获得的灰度标识信息注册到微服务集群的注册中心。
其中,所述确定所述微服务所在节点是否为灰度节点,包括:
读取所述微服务所在节点的环境变量;所述环境变量是所述微服务集群创建所述微服务所在节点时生成的,所述环境变量中包含用于描述所述微服务所在节点是否为灰度节点的字段;
若所述字段指示所述微服务所在节点为灰度节点,则确定所述微服务所在节点为灰度节点;
若所述字段指示所述微服务所在节点为非灰度节点,则确定所述微服务所在节点为非灰度节点。
其中,所述获取所述灰度请求对应的所有下游微服务所在节点的灰度标识信息,包括:
从微服务集群的注册中心获取所述灰度请求对应的所有下游微服务所在节点的灰度标识信息。
其中,所述微服务集群为云原生分布式集群,所述云原生分布式集群的注册中心为nacos注册中心。
其中,在所述根据获取到的灰度标识信息,判断所述所有下游微服务所在节点中是否存在灰度节点之后,所述方法还包括:
若所述所有下游微服务所在节点中不存在灰度节点,则将所述灰度请求转发至任一下游微服务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中和农信项目管理有限公司,未经中和农信项目管理有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111661910.0/2.html,转载请声明来源钻瓜专利网。