【技术实现步骤摘要】
基于微服务框架的灰度发布方法、装置和计算机设备
本申请涉及到计算机领域,特别是涉及到一种基于微服务框架的灰度发布方法、装置、计算机设备和存储介质。
技术介绍
灰度发布是指在同一个时间段内,存在不同的服务版本,在原始版本与新的版本间平滑过渡的一种发布方式。目前采用灰度发布主要针对单体式架构的服务进行灰度发布,而单体式架构的灰度发布方案,由于微服务群的机器实例数量需要成倍的,会耗费极大的机器成本以及运维成本,成本上的极大负担,往往只能做两个服务版本。并且传统技术在灰度发布时,服务方不仅必须设置服务的版本,还必须设置灰度发布策略,设置灰度发布的流程繁琐,耗时长。另外,传统技术仅能人为设定灰度依据,做出的灰度发布精准度不足。
技术实现思路
本申请的主要目的为提供一种基于微服务框架的灰度发布方法、装置、计算机设备和存储介质,旨在实现多版本灰度发布,并提高灰度发布的精准度。为了实现上述专利技术目的,本申请提出一种基于微服务框架的灰度发布方法,包括以下步骤:接收多个用户终端发送的访问指定服务的请求,并解 ...
【技术保护点】
1.一种基于微服务框架的灰度发布方法,其特征在于,包括:/n接收多个用户终端发送的访问指定服务的请求,并解析所述请求从而得到指定数据,所述指定数据包括用户终端的ip地址、请求头或者请求参数;/n获取灰度策略提供终端提供的灰度策略;/n通过判断所述指定数据是否落入所述灰度策略的多个预设范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本;/n将所述第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户分别分流至第一版本微服务链、 ...
【技术特征摘要】 【专利技术属性】
1.一种基于微服务框架的灰度发布方法,其特征在于,包括:
接收多个用户终端发送的访问指定服务的请求,并解析所述请求从而得到指定数据,所述指定数据包括用户终端的ip地址、请求头或者请求参数;
获取灰度策略提供终端提供的灰度策略;
通过判断所述指定数据是否落入所述灰度策略的多个预设范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本;
将所述第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户分别分流至第一版本微服务链、第二版本微服务链、…、第n版本微服务链,其中所述第一版本微服务链、第二版本微服务链、…、第n版本微服务链具有相同的微服务,并且所述相同的微服务的数量大于预设数量;
将所述暂时非灰度用户输入已经训练完成的基于机器学习模型的灰度再分类模型中运算,从而获得从所述暂时非灰度用户中分类出的灰度用户和最终非灰度用户,以及所述分类出的灰度用户对应的微服务链;
将所述分类出的灰度用户分流至所述分类出的灰度用户对应的微服务链,以及将所述最终非灰度用户分流至当前版本的微服务链。
2.根据权利要求1所述的基于微服务框架的灰度发布方法,其特征在于,所述请求采用指定通信协议封装而成,所述接收多个用户终端发送的访问指定服务的请求,并解析所述请求从而得到指定数据的步骤,包括:
接收多个用户终端发送的访问指定服务的请求,并从预存的多个通信协议格式中获取所述指定通信协议的格式;
利用所述指定通信协议的格式解析所述请求,从而得到所述请求中的请求头;
从所述请求头中提取预先约定位置中的数据,并记为所述指定数据。
3.根据权利要求1所述的基于微服务框架的灰度发布方法,其特征在于,所述通过判断所述指定数据是否落入所述灰度策略的多个预设范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本的步骤,包括:
根据预设的相似度算法,计算所述指定数据与预设字符串的相似度值;
将所述相似度值小于预设相似度阈值的用户终端划分为暂时非灰度用户,并将所述相似度值不小于预设相似度阈值的用户终端划分为暂时灰度用户;
获取所述灰度策略中约定的第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户对应的第一关键词、第二关键词、…、第n关键词,其中所述指定服务共有n个版本;
将所述指定数据中记载有第一关键词、第二关键词、…、第n关键词对应的暂时灰度用户分别划分为第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户。
4.根据权利要求1所述的基于微服务框架的灰度发布方法,其特征在于,所述通过判断所述指定数据是否落入所述灰度策略的多个预设范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本的步骤,包括:
根据预设的编码方法,将所述用户终端的ip地址、请求头和请求参数编码为矩阵[B1,B2,B3],其中B1为所述ip地址对应的映射值、B2为所述请求头对应的映射值、B3为所述请求参数对应的映射值;
根据预设的灰度策略与参数矩阵的对应关系,获取与所述灰度策略提供终端提供的灰度策略对应的指定参数矩阵[C1,C2,C3];
通过公式:M=||[B1,B2,B3]T[C1,C2,C3]||,计算得到划分参考指数M;
通过判断所述参考指数M是否落入预设的多个数值范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本。
技术研发人员:杨定朝,伍春林,童志刚,
申请(专利权)人:平安科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。