[发明专利]一种分布式全链路灰度发布方法及装置在审
申请号: | 202210143050.X | 申请日: | 2022-02-16 |
公开(公告)号: | CN114615192A | 公开(公告)日: | 2022-06-10 |
发明(设计)人: | 黄智;安若;李强;雷威 | 申请(专利权)人: | 杭州信公小安信息科技有限公司 |
主分类号: | H04L45/50 | 分类号: | H04L45/50;H04L45/00;H04L47/31 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 刘俊 |
地址: | 311199 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 全链路 灰度 发布 方法 装置 | ||
1.一种基于分布式系统的流量路由方法,其特征在于,包括以下步骤:
对分布式部署的所有链路节点分别添加至少一个节点标签,并根据节点标签对每一个链路节点按照不同维度进行分组;
向所述链路节点下发请求流量的标识规则和请求流量的路由规则;
当链路节点接收到未染色的请求流量时,所述链路节点根据所述流量标识规则对接收的请求流量进行染色标记,然后根据请求流量经过染色标记获得的流量标签和请求流量的路由规则寻找匹配维度的其他链路节点;
当所述链路节点接收到经过染色标记的请求流量时,所述链路节点根据其接收的请求流量的流量标签调用匹配的应用。
2.根据权利要求1所述的分布式全链路灰度发布方法,其特征在于,所述链路节点根据所述流量标识规则对接收的请求流量进行染色标记时,根据HTTP请求Header中的user值判断,当user值为正常用户,则将请求流量染色标记为正常用户标签;当user值为测试用户,则将请求流量染色标记为测试用户标签。
3.根据权利要求2所述的分布式全链路灰度发布方法,其特征在于,所述链路节点中的应用包括normal版本应用和/或gray版本应用。
4.根据权利要求3所述的分布式全链路灰度发布方法,其特征在于,所述链路节点根据其接收的请求流量的流量标签调用匹配的应用时,包括以下步骤:
当所述链路节点中包括normal版本应用和gray版本应用时,根据所述链路节点接收的请求流量的流量标签,对染色标记为正常用户的请求流量调用normal版本应用,对染色标记为测试用户的请求流量调用gray版本应用;
当所述链路节点中仅包含normal版本应用时,对染色标记为正常用户的请求流量调用normal版本应用,对染色标记为测试用户的请求流量结束请求;
当所述链路节点中仅包含gray版本应用时,对染色标记为正常用户和测试用户的请求流量调用gray版本应用。
5.根据权利要求1所述的分布式全链路灰度发布方法,其特征在于,对所述链路节点添加的节点标签的维度包括环境、机器配置和组织架构部门。
6.根据权利要求1所述的分布式全链路灰度发布方法,其特征在于,对所述链路节点添加节点标签时,包括以下一种或多种标识操作:采用在应用代码中硬编码指定、使用配置中心进行动态配置、通过环境变量进行配置和采用容器编排工具进行配置。
7.根据权利要求1~6任一项所述的分布式全链路灰度发布方法,其特征在于,还包括以下步骤:所述链路节点获取节点标签后向注册中心进行注册信息登记,所述注册信息包括链路节点所属机器IP和节点标签;所述链路节点根据注册中心存储的注册信息进行不同维度的分组。
8.一种基于分布式系统的流量路由装置,其特征在于,应用于分布式系统,所述分布式系统包括分布式部署的链路节点,所述链路节点内设置有normal版本应用和/或gray版本应用;所述流量路由装置包括节点标识模块和规则配置模块,其中,所述节点标识模块用于对所述链路节点标识有不同维度的节点标签,并对所述链路节点按照不同维度进行分组;所述规则配置模块用于向所述链路节点配置请求流量的标识规则和请求流量的路由规则;
当所述链路节点接收到未染色的请求流量时,所述链路节点根据所述流量标识规则对接收的请求流量进行染色标记,然后根据请求流量经过染色标记获得的流量标签和请求流量的路由规则寻找匹配维度的其他链路节点;当所述链路节点接收到经过染色标记的请求流量时,所述链路节点根据其接收的请求流量的流量标签调用匹配的normal版本应用或gray版本应用。
9.根据权利要求8所述的分布式全链路灰度发布系统,其特征在于,所述流量路由装置还包括注册中心,所述链路节点获取节点标签后向注册中心进行注册信息登记,所述注册信息包括链路节点所属机器IP和节点标签;所述链路节点根据注册中心存储的注册信息进行不同维度的分组。
10.根据权利要求8所述的分布式全链路灰度发布系统,其特征在于,所述节点标识模块包括代码指定单元、动态配置单元、环境变量配置单元、容器编排单元中的至少一种,其中,所述代码指定单元用于在应用代码中通过硬编码指定链路节点添加节点标签;所述动态配置单元用于对链路节点的节点标签进行动态配置;所述环境变量配置单元用于通过环境变量对链路节点的节点标签进行配置;所述容器编排单元用于通过容器编排工具对链路节点的节点标签进行配置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州信公小安信息科技有限公司,未经杭州信公小安信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210143050.X/1.html,转载请声明来源钻瓜专利网。