预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共15页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN114265607A(43)申请公布日2022.04.01(21)申请号202210201616.X(22)申请日2022.03.03(71)申请人杭州朗澈科技有限公司地址311100浙江省杭州市余杭区余杭街道文一西路1818-2号12幢802室(72)发明人蔡锡生王玉虎马骏(74)专利代理机构杭州创智卓英知识产权代理事务所(普通合伙)33324代理人张迪(51)Int.Cl.G06F8/65(2018.01)G06F8/71(2018.01)权利要求书2页说明书8页附图4页(54)发明名称一种灰度发布方法、系统、电子设备和存储介质(57)摘要本申请涉及一种灰度发布方法,其中,该方法包括:灰度发布控制器针对集群中的一个目标微服务,收集新版本微服务实例的所有API和老版本微服务实例的所有API并进行对比,其中,API采用OpenAPI规范暴露;基于API的实时对比结果生成路由规则表,并将路由规则表发送至集群内各个微服务的代理控制器;指示代理控制器,根据路由规则表,将目标微服务之外的其他微服务生成的访问请求,转发至新版本微服务实例的API和/或老版本微服务实例的API。本申请通过API层级的灰度发布,解决了现有技术中微服务灰度发布方法安全性较差的问题,降低了发布风险。CN114265607ACN114265607A权利要求书1/2页1.一种灰度发布方法,其特征在于,所述方法包括:灰度发布控制器针对集群中的目标微服务,收集新版本微服务实例的所有API和老版本微服务实例的所有API并进行对比,其中,所述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云平台上。8.一种灰度发布系统,其特征在于,所述系统包括:收集对比模块、路由规则表生成模块和请求转发模块,其中:所述收集对比模块用于:通过灰度发布控制器针对集群中的目标微服务,收集新版本2CN114265607A权利要求书2/2页微服务实例的所有API和老版本微服务实例的所有API并进行对比,其中,所述API采用OpenAPI规范暴露文档;所述路由规则表生成模块用于:基于API的实时对比结果生成路由规则表,并将所述路由规则表发送至集群内各个微服务的代理控制器;所述请求转发模块用于:通过所述代理控制器,根据所述路由规则表,将所述目标微服务之外其他微服务生成的访问请求,转发至新版本微服务实例的API和/或老版本微服务实例的API。9.一种计算机设备,包括存储器、处理器以及存储