[发明专利]一种灰度发布方法、系统、电子设备和存储介质有效
申请号: | 202210201616.X | 申请日: | 2022-03-03 |
公开(公告)号: | CN114265607B | 公开(公告)日: | 2022-06-28 |
发明(设计)人: | 蔡锡生;王玉虎;马骏 | 申请(专利权)人: | 杭州朗澈科技有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/71 |
代理公司: | 杭州创智卓英知识产权代理事务所(普通合伙) 33324 | 代理人: | 张迪 |
地址: | 311100 浙江省杭州市余杭区*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 灰度 发布 方法 系统 电子设备 存储 介质 | ||
1.一种灰度发布方法,其特征在于,所述方法包括:
灰度发布控制器针对集群中的目标微服务,收集新版本微服务实例的所有API和老版本微服务实例的所有API并进行对比,其中,所述API采用OpenAPI规范暴露文档,所述OpenAPI规范是一种通用的、和编程语言无关的 API 描述规范,其作用是使人类和计算机可以发现和理解服务的功能,而无需访问源代码、文档或针对接口进行嗅探,在OpenAPI正确定义后,使用者可以使用最少的实现逻辑来理解远程服务并与其交互;
基于API的实时对比结果生成路由规则表,并将所述路由规则表发送至集群内各个微服务的代理控制器;
指示所述代理控制器,根据所述路由规则表,将所述目标微服务之外其他微服务生成的访问请求,转发至新版本微服务实例的API和/或老版本微服务实例的API。
2.根据权利要求1所述的方法,其特征在于,所述代理控制器的访问请求转发流程包括:
判断所述访问请求中的请求对象域名与所述路由规则表中目标微服务的域名是否匹配;
若是,通过访问请求中的访问路径在API字典中查询以确定转发规则,并根据所述转发规则,将所述访问请求转发至新版本微服务实例的API和/或老版本微服务实例的API。
3.根据权利要求2所述的方法,其特征在于,所述转发规则包括:
对于新版本和老版本中发生变化的API:采用渐进式流量倾斜方式,依据预设迁移步长,将访问流量逐步从所述老版本微服务实例的API分流到所述新版本微服务实例的API;
对于新版本和老版本中未发生变化的API,根据1:1的预设比例,将访问流量从所述老版本微服务实例的API分流到所述新版本微服务实例的API;
对于新版本相对于老版本被删除的API,将访问流量全部分流至所述老版本微服务实例的API。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据预设校验规则,对已在集群中运行的新版本微服务实例进行实时测试;
若测试结果指示合格,持续将访问流量逐步倾斜至新版本微服务实例,并在所有访问流量倾斜完成之后,输出发布成功信号;
若测试结果指示不合格,将访问流量逐步倾斜至老版本微服务实例,并在所有访问流量倾斜完成之后,输出发布失败信号。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在输出所述发布成功信号的情况下,在所述集群中下线所述老版本微服务实例;
在输出所述发布失败信号的情况下,修复当前的软件BUG和/或测试BUG之后,重新发布所述新版本微服务实例。
6.根据权利要求1所述的方法,其特征在于,
在所述集群是云服务器集群时,所述代理控制器以sidecar形式在各个微服务所在的网络节点上部署;
在所述集群是传统物理服务器集群时,所述代理控制器以网关的形式在各个微服务所在的物理服务器上部署。
7.根据权利要求1所述的方法,其特征在于,所述集群部署在kubernetes云平台上。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州朗澈科技有限公司,未经杭州朗澈科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210201616.X/1.html,转载请声明来源钻瓜专利网。