CN117692327A - 灰度发布方法 - Google Patents
灰度发布方法 Download PDFInfo
- Publication number
- CN117692327A CN117692327A CN202311606955.7A CN202311606955A CN117692327A CN 117692327 A CN117692327 A CN 117692327A CN 202311606955 A CN202311606955 A CN 202311606955A CN 117692327 A CN117692327 A CN 117692327A
- Authority
- CN
- China
- Prior art keywords
- gray
- user request
- gray scale
- request
- version
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000004044 response Effects 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 9
- 238000012216 screening Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 26
- 238000004590 computer program Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000003058 natural language processing Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本公开提出一种灰度发布方法,方法包括:接收网关管理控制器发送的第一灰度发布规则;对第一灰度发布规则进行解析,以确定第一灰度发布规则中的第一灰度范围和第一灰度匹配规则;根据第一灰度匹配规则,从接收到的第一访问请求中,确定满足第一灰度匹配规则的第一用户请求;采用与第一灰度范围匹配的第一目标灰度版本响应第一用户请求,以向发送第一用户请求的第一客户端提供灰度服务,并采用当前版本响应第一访问请求中除第一用户请求之外的第二用户请求,以向发送第二用户请求的第二客户端提供正式服务,由此,实现了基于网关引擎进行灰度发布,能够降低发布风险,提高用户体验和系统稳定性。
Description
技术领域
本公开涉及互联网技术领域,尤其涉及一种灰度发布方法。
背景技术
随着互联网技术的发展,为满足用户日益的多样化的需求,需对互联网服务(如,应用程序)进行频繁更新。
相关技术中,在将新版本的应用程序推向用户时,一般通过将新版本的应用程序一次性全部部署到所有的用户中。这意味着所有用户将在同一时间获得新的更新版本,如果新版本存在问题,所有用户都会受到影响,导致系统崩溃或用户流失。
发明内容
本公开提供一种灰度发布方法,以至少在一定程度上解决相关技术中的技术问题之一。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种灰度发布方法,应用于网关引擎,包括:接收网关管理控制器发送的第一灰度发布规则;对所述第一灰度发布规则进行解析,以确定所述第一灰度发布规则中的第一灰度范围和第一灰度匹配规则;根据所述第一灰度匹配规则,从接收到的第一访问请求中,确定满足所述第一灰度匹配规则的第一用户请求;采用与所述第一灰度范围匹配的第一目标灰度版本响应所述第一用户请求,以向发送所述第一用户请求的第一客户端提供灰度服务,并采用当前版本响应所述第一访问请求中除所述第一用户请求之外的第二用户请求,以向发送所述第二用户请求的第二客户端提供正式服务。
根据本公开实施例的第二方面,提供了一种灰度发布方法,应用于网关管理控制器,包括:响应于配置操作,在所述网关管理控制器的配置页面中配置第一灰度发布规则;响应于所述第一灰度发布规则配置完毕,向网关引擎发送所述第一灰度发布规则,其中,所述第一灰度发布规则用于对所述第一灰度发布规则进行解析,以确定所述灰度发布规则中的第一灰度范围和第一灰度匹配规则;根据所述第一灰度匹配规则,从接收到的第一访问请求中,确定满足所述第一灰度匹配规则的第一用户请求;采用与所述第一灰度范围匹配的第一目标灰度版本响应所述第一用户请求,以向发送所述第一用户请求的第一客户端提供灰度服务,并采用当前版本响应所述第一访问请求中除所述第一用户请求之外的第二用户请求,以向发送所述第二用户请求的第二客户端提供正式服务。
根据本公开实施例的第三方面,提供一种灰度发布装置,应用于网关引擎,包括:接收模块,用于接收网关管理控制器发送的第一灰度发布规则;解析模块,用于对所述第一灰度发布规则进行解析,以确定所述第一灰度发布规则中的第一灰度范围和第一灰度匹配规则;第一确定模块,用于根据所述第一灰度匹配规则,从接收到的第一访问请求中,确定满足所述第一灰度匹配规则的第一用户请求;处理模块,用于采用与所述第一灰度范围匹配的第一目标灰度版本响应所述第一用户请求,以向发送所述第一用户请求的第一客户端提供灰度服务,并采用当前版本响应所述第一访问请求中除所述第一用户请求之外的第二用户请求,以向发送所述第二用户请求的第二客户端提供正式服务。
根据本公开实施例的第四方面,提供一种灰度发布装置,应用于网关管理控制器,包括:配置模块,用于响应于配置操作,在所述网关管理控制器的配置页面中配置第一灰度发布规则;发送模块,用于响应于所述第一灰度发布规则配置完毕,向网关引擎发送所述第一灰度发布规则,其中,所述第一灰度发布规则用于对所述第一灰度发布规则进行解析,以确定所述灰度发布规则中的第一灰度范围和第一灰度匹配规则;根据所述第一灰度匹配规则,从接收到的第一访问请求中,确定满足所述第一灰度匹配规则的第一用户请求;采用与所述第一灰度范围匹配的第一目标灰度版本响应所述第一用户请求,以向发送所述第一用户请求的第一客户端提供灰度服务,并采用当前版本响应所述第一访问请求中除所述第一用户请求之外的第二用户请求,以向发送所述第二用户请求的第二客户端提供正式服务。
根据本公开实施例的第五方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如本公开第一方面实施例所述的灰度发布方法,或者,实现如本公开第二方面实施例所述的灰度发布方法。
根据本公开实施例的第六方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如本公开第一方面实施例所述的灰度发布方法,或者,执行如本公开第二方面实施例所述的灰度发布方法。
根据本公开实施例的第七方面,提供一种计算机程序产品,包括:计算机程序,所述计算机程序被处理器执行时实现如本公开第一方面实施例所述的灰度发布方法,或者,执行实现如本公开第二方面实施例所述的灰度发布方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
1、接收网关管理控制器发送的第一灰度发布规则,并根据第一灰度发布规则中的第一灰度匹配规则,从接收到的第一访问请求中,确定满足第一灰度匹配规则的第一用户请求;采用与第一灰度发布规则中的第一灰度范围匹配的第一目标灰度版本响应第一用户请求,以向发送第一用户请求的第一客户端提供灰度服务,并采用当前版本响应第一访问请求中除第一用户请求之外的第二用户请求,以向发送第二用户请求的第二客户端提供正式服务,实现了基于网关引擎进行灰度发布,能够降低发布风险,提高用户体验和系统稳定性;
2、从多个候选灰度版本中,获取与第一灰度范围匹配的第一目标灰度版本;其中,第一灰度范围包括:接口级和/或应用程序级,采用与第一目标灰度版本响应第一用户请求,以向发送第一用户请求的第一客户端提供灰度服务,实现了不同灰度粒度的灰度发布,有效地降低了发布风险,提高了用户体验;
3、在采用第一目标灰度版本响应第一用户请求的过程中,监测第一目标灰度版本的运行状态;响应于第一目标灰度版本的运行状态从可用状态切换为不可用状态,从第一用户请求中确定未响应的第三用户请求;采用当前版本响应第三用户请求,以向发送第三用户请求的第二客户端提供正式服务,实现了在第一目标灰度版本出现问题时,及时确定未响应第一目标灰度版本的第三用户请求,避免影响更多用户,提高了用户体验;
4、第一灰度匹配规则包括:灰度发布流量比例,或者,第一灰度匹配规则包括:灰度请求参数,网关引擎支持灰度发布流量比例或者根据灰度请求参数对流量进行控制,提高了灰度发布的灵活性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是本公开第一实施例所示出的灰度发布方法的流程示意图;
图2是本公开第二实施例所示出的灰度发布方法的流程示意图;
图3是本公开第三实施例所示出的灰度发布方法的流程示意图;
图4是本公开第四实施例所示出的灰度发布方法的流程示意图;
图5是本公开实施例所示出的灰度发布的实现原理示意图;
图6是本公开第五实施例所示出的灰度发布方法的流程示意图;
图7是本公开第六实施例所示出的灰度发布装置的结构示意图;
图8是本公开第七实施例所示出的灰度发布装置的结构示意图;
图9是本公开一示例性实施例所示出的电子设备的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
需要说明的是,本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均在征得用户同意的前提下进行,并且均符合相关法律法规的规定,且不违背公序良俗。
下面参考附图描述本公开实施例的灰度发布方法。
图1是本公开第一实施例所示出的灰度发布方法的流程示意图。其中,需要说明的是,本公开实施例的灰度发布方法可应用于网关引擎。
如图1所示,该灰度发布方法可包括如下步骤:
步骤101,接收网关管理控制器发送的第一灰度发布规则。
作为一种示例,用户可基于历史经验或实际需求在网关管理控制器的配置页面上配置第一灰度发布规则,其中,第一灰度发布规则可包括第一灰度范围和第一灰度匹配规则,其中,第一灰度范围用于指示灰度发布范围,比如,第一灰度发布范围包括:接口级和/或应用程序级;第一灰度匹配规则,用于筛选灰度发布的访问流量。
其中,需要理解的是,灰度发布是一种逐步推出新版本的方式,它将新版本在一小部分用户中进行测试和验证,然后逐步扩大用户范围,直到所有用户能够访问新版本的软件或网站。
步骤102,对第一灰度发布规则进行解析,以确定第一灰度发布规则中的第一灰度范围和第一灰度匹配规则。
作为一种示例,基于自然语言处理(Natural Language Processing,简称NLP)技术对第一灰度发布规则进行语义解析,以得到该第一灰度发布规则中的第一灰度范围和第一灰度匹配规则。
步骤103,根据第一灰度匹配规则,从接收到的第一访问请求中,确定满足第一灰度匹配规则的第一用户请求。
作为一种可能的实现方式,可基于第一灰度匹配规则,对接收到的第一访问请求进行筛选,以得到满足第一灰度匹配规则的第一用户请求。其中,需要说明的是,第一访问请求用于请求资源或数据,第一访问请求中可包括请求参数,其中,请求参数可包括客户端的标识信息(如,IP地址或端口号、HTTP请求头中的标识字段(如,User-Agent字段)等)、访问方式(如,GET、POST、PUT、DELETE等)、网络协议信息等。
步骤104,采用与第一灰度范围匹配的第一目标灰度版本响应第一用户请求,以向发送第一用户请求的第一客户端提供灰度服务,并采用当前版本响应第一访问请求中除第一用户请求之外的第二用户请求,以向发送第二用户请求的第二客户端提供正式服务。
进而,从多个候选灰度版本中,可获取与第一灰度范围匹配的第一目标灰度版本,将第一用户请求引入至第一目标灰度版本,从而采用第一目标灰度版本响应第一用户请求,以向发送第一用户请求的第一客户端提供灰度服务,并将第一访问请求中除第一用户请求之外的第二用户请求引入至当前版本,从而采用当前版本响应第二用户请求,以向发送第二用户请求的第二客户端提供正式服务。其中,需要说明的是,第一目标灰度版本可为当前版本的升级版本,比如,当前版本为v1,第一目标灰度版本为v1的升级版本v2。
综上,通过接收网关管理控制器发送的第一灰度发布规则;对第一灰度发布规则进行解析,以确定第一灰度发布规则中的第一灰度范围和第一灰度匹配规则;根据第一灰度匹配规则,从接收到的第一访问请求中,确定满足第一灰度匹配规则的第一用户请求;采用与第一灰度范围匹配的第一目标灰度版本响应第一用户请求,以向发送第一用户请求的第一客户端提供灰度服务,并采用当前版本响应第一访问请求中除第一用户请求之外的第二用户请求,以向发送第二用户请求的第二客户端提供正式服务,由此,实现了基于网关引擎进行灰度发布,能够降低发布风险,提高用户体验和系统稳定性。
为了清楚地说明上述实施例中是如何采用与第一灰度范围匹配的第一目标灰度版本响应第一用户请求,以向发送第一用户请求的第一客户端提供灰度服务,并采用当前版本响应第一访问请求中除第一用户请求之外的第二用户请求,以向发送第二用户请求的第二客户端提供正式服务的,本公开提出另一种灰度发布方法。
图2是本公开第二实施例所示出的灰度发布方法的流程示意图。
如图2所示,该灰度发布方法可包括如下步骤:
步骤201,接收网关管理控制器发送的第一灰度发布规则。
步骤202,对第一灰度发布规则进行解析,以确定第一灰度发布规则中的第一灰度范围和第一灰度匹配规则。
步骤203,根据第一灰度匹配规则,从接收到的第一访问请求中,确定满足第一灰度匹配规则的第一用户请求。
步骤204,获取多个候选灰度版本。
作为一种可能的实现方式,可获取多个候选灰度版本,其中,多个候选版本可包括不同灰度范围的版本,比如,可包括接口级的灰度版本、应用程序级的灰度版本和全量级(接口级+应用程序级)的灰度版本。其中,接口级的灰度版本是指对当前版本中的接口进行升级的版本,应用程序级的灰度版本是指对当前版本的程序(包括所有接口)进行升级的版本,全量级的灰度版本是指对当前版本的全部内容进行升级的版本。
步骤205,从多个候选灰度版本中,获取与第一灰度范围匹配的第一目标灰度版本。
其中,第一灰度范围包括:接口级和/或应用程序级。
为了实现指定灰度粒度的灰度发布,作为一种可能的实现方式,可基于第一灰度范围从多个候选灰度版本中,确定第一目标灰度版本。
作为一种示例,第一灰度范围为接口级,从多个候选灰度版本中,获取与接口级所指示的目标接口匹配的第一目标灰度版本。
作为另一种示例,第一灰度范围为应用程序级,从多个候选灰度版本中,获取与应用程序级所指示的目标应用程序匹配的第一目标灰度版本。
作为另一种示例,第一灰度范围为接口级和应用程序级,从多个候选版本中,获取与目标接口和目标应用程序同时匹配的第一目标灰度版本。
步骤206,采用与第一目标灰度版本响应第一用户请求,以向发送所述第一用户请求的第一客户端提供灰度服务,并采用所述当前版本响应所述第二用户请求,以向发送所述第二用户请求的第二客户端提供正式服务。
综上,通过获取多个候选灰度版本;从多个候选灰度版本中,获取与第一灰度范围匹配的第一目标灰度版本,由此,实现了不同灰度粒度的灰度发布,有效地降低了发布风险,提高了用户体验。
为了避免运行灰度版本期间访问中断的情况发生,可在采用与第一目标灰度版本响应第一用户请求,以向发送第一用户请求的第一客户端提供灰度服务之前,作为一种示例,可确定第一目标灰度版本是否处于可用状态,在第一目标灰度版本处于可用状态的情况下,采用第一目标灰度版本响应第一用户请求,以向发送第一用户请求的第一客户端提供灰度服务,下面结合图3实施例进行详细说明。
图3是本公开第三实施例所示出的灰度发布方法的流程示意图。
如图3所示,该灰度发布方法可包括如下步骤:
步骤301,接收网关管理控制器发送的第一灰度发布规则。
步骤302,对第一灰度发布规则进行解析,以确定第一灰度发布规则中的第一灰度范围和第一灰度匹配规则。
步骤303,根据第一灰度匹配规则,从接收到的第一访问请求中,确定满足第一灰度匹配规则的第一用户请求。
步骤304,对第一目标灰度版本进行状态监测,以确定第一目标灰度版本是否处于可用状态。
作为一种示例,可获取第一目标灰度版本的访问地址,对该访问地址进行访问,如果访问成功,可确定第一目标灰度版本处于可用状态,如果访问不成功,可确定第一目标灰度版本处于不可用状态。
作为另一种示例,可获取第一目标灰度版本中实例的访问地址,以访问该实例,若存在可用状态的实例,可确定第一目标灰度版本处于可用状态,若不存在可用状态的实例,可确定第一目标灰度版本处于不可用状态。
步骤305,响应于第一目标灰度版本处于可用状态,采用第一目标灰度版本响应第一用户请求,以向发送第一用户请求的第一客户端提供灰度服务,并采用当前版本响应所述第二用户请求,以向发送第二用户请求的第二客户端提供正式服务。
作为一种示例,响应于第一目标灰度版本处于可用状态,则可采用第一目标灰度版本响应第一用户请求,以向发送第一用户请求的第一客户端提供灰度服务,并且采用当前版本响应第二用户请求,以向发送第二用户请求的第二客户端提供正式服务。
作为另一种示例,响应于第一目标灰度版本处于不可用状态,则不将第一用户请求引入至第一目标灰度版本,可将第一用户请求和第二用户请求全部引入至当前版本,即采用当前版本响应第一访问请求。
另外,为了避免在第一目标灰度版本运行过程中出现问题时,影响更多用户,作为一种可能的实现方式,在采用第一目标灰度版本响应第一用户请求的过程中,监测第一目标灰度版本的运行状态;响应于第一目标灰度版本的运行状态从可用状态切换为不可用状态,从第一用户请求中确定未响应的第三用户请求;采用当前版本响应第三用户请求,以向发送第三用户请求的第二客户端提供正式服务。
也就是说,在第一目标灰度版本运行过程中,监测到第一目标灰度版本出现问题时,可及时确定未响应第一目标灰度版本的第三用户请求,并采用当前版本响应第三用户请求,从而可避免影响更多用户,提高了用户体验。
作为另一种可能的实现方式,在采用第一目标灰度版本响应第一用户请求的过程中,监测第一目标灰度版本的运行状态,在第一目标灰度版本的运行状态为可用状态时,网关管理控制器响应于用户的更新操作,生成灰度更新指令,并向网关引擎发送灰度更新指令,其中,灰度更新指令中包括:更新后的灰度发布规则,更新后的灰度发布规则包括:第二灰度范围和第二灰度匹配规则;进而,将接收到的第二访问请求中的第四用户请求采用与第二灰度范围匹配的第二目标灰度版本响应,以向发送第四用户请求的第三客户端提供灰度服务,以及将第二访问请求中除第四用户请求中的第五用户请求采用当前版本响应,其中,第四用户请求的第三数量大于第一用户请求的第一数量。
也就是说,在第一目标灰度版本的运行状态为可用状态时,可更新灰度发布规则,更新后的灰度发布规则包括:第二灰度范围和第二灰度匹配规则,比如,第二灰度匹配规则中灰度发布流量比例大于第一灰度匹配规则中的灰度发布流量比例,即扩大引入至灰度版本的访问流量,以实现逐步将所有访问流量引入至灰度版本;又比如,第二灰度范围大于第一灰度范围,即扩大灰度版本的范围,逐步实现全量版本的访问。
综上,通过对第一目标灰度版本进行状态监测,以确定第一目标灰度版本是否处于可用状态;响应于第一目标灰度版本处于可用状态,采用第一目标灰度版本响应第一用户请求,以向发送第一用户请求的第一客户端提供灰度服务,并采用当前版本响应第二用户请求,以向发送第二用户请求的第二客户端提供正式服务,由此,在运行第一目标灰度版本之前进行状态监测,可避免运行灰度版本期间访问中断的情况发生,改善了用户体验。
为了避免灰度版本出现问题,影响较多的用户,作为一种示例,可预先设置灰度发布流量比例,将该比例的用户请求引入至灰度版本,下面结合图4进行详细说明。
图4是本公开第四实施例所示出的灰度发布方法的流程示意图。
如图4所示,该灰度发布方法可包括如下步骤:
步骤401,接收网关管理控制器发送的第一灰度发布规则。
步骤402,对第一灰度发布规则进行解析,以确定第一灰度发布规则中的第一灰度范围和第一灰度匹配规则。
步骤403,获取第一访问请求的请求总数量。
作为一种示例,可对第一访问请求进行统计,以得到第一访问请求的请求总数量。
作为另一种示例,可通过查询访问日志,获取第一访问请求的请求总数量。
步骤404,根据灰度发布流量比例和请求总数量,确定第一用户请求的第一数量。
作为一种可能的实现方式,第一灰度匹配规则包括:灰度发布流量比例,灰度发布流量比例用于指示访问流量引入至第一目标灰度版本和引入至当前版本的比例,进而,将灰度发布流量比例与请求总数量进行相乘,得到乘积,并根据该乘积,确定第一用户请求的第一数量,比如,将该乘积作为第一用户请求的第一数量,或者,将设定系数的乘积,作为第一用户请求的第一数量。
作为另一种可能的实现方式,第一灰度匹配规则包括:灰度请求参数,获取第一访问请求中的请求参数;根据灰度请求参数,对第一访问请求进行筛选,以从第一访问请求中,确定第一用户请求,其中,第一用户请求的请求参数与灰度请求参数匹配。
作为另一种可能的实现方式,第一灰度匹配规则包括:灰度发布流量比例和灰度请求参数,根据灰度发布流量比例,从第一访问请求中,确定与该灰度发布流量比例匹配的访问请求,根据灰度请求参数,从第一访问请求中,筛选出与该灰度请求参数匹配的访问请求,进而,可根据设定权重,对与该灰度发布流量比例匹配的访问请求和与该灰度请求参数匹配的访问请求进行加权求和,以得到第一数量的第一用户请求。
步骤405,从第一访问请求中,确定第一数量的第一用户请求。
作为一种示例,从第一访问请求中,可按照访问时间的先后,从第一访问请求中,确定第一数量的第一用户请求;或者,从第一访问请求中,将设定访问时间后第一数量的用户请求,作为第一用户请求。
步骤406,采用与第一灰度范围匹配的第一目标灰度版本响应第一用户请求,以向发送第一用户请求的第一客户端提供灰度服务,并采用当前版本响应第一访问请求中除第一用户请求之外的第二用户请求,以向发送第二用户请求的第二客户端提供正式服务。
综上,通过获取第一访问请求的请求总数量;根据灰度发布流量比例和请求总数量,确定第一用户请求的第一数量;从第一访问请求中,确定第一数量的第一用户请求,由此,根据第一灰度匹配规则,可准确地确定引入至第一目标灰度版本的用户请求,实现了流量引入和灰度服务的解耦,提高了灰度发布的灵活性。
在上述任一实施例的基础上,本公开的实现原理可如图5所示,主要包括以下步骤:
1、灰度规则说明:在网关管理控制器中设定灰度发布的相关参数,如灰度比例、用户群体等。其中,灰度规则分为两大部分,即灰度范围和匹配规则,灰度范围首先确认好需要灰度的接口,这里范围支持接口级、应用级、全部等,匹配规则是在灰度范围之内做更精细化的匹配;
2、规则发布:网关管理控制器通过配置中心将灰度规则配置下发至网关引擎端,规则准实时生效,引擎端可以快速感知规则变化并执行;
3、网关引擎灰度控制:网关引擎根据接收到的灰度发布规则,将不同比例的流量引导到相应的功能模块,实现灰度发布。
其中,灰度匹配规则可包括按比例灰度(灰度发布流量比例)和/或请求参数灰度(灰度请求参数),其中,比例灰度表示根据百分比比例灰度,即把总流量的指定百分比流量分发到灰度的实例,例如配置50%,那么就会将一半的流量分发到灰度的实例;请求参数灰度,例如请求报文为Json格式{"userId":"123456","userType":"2"},那么则可以设置灰度匹配规则将所有userType为2的请求分发到灰度实例。
为了实现上述实施例,本公开提出另一种灰度发布方法。其中,需要说明的是,本公开实施例的灰度发布可应用于网关管理控制器。
图6是本公开第五实施例所示出的灰度发布方法的流程示意图。
如图6所示,该灰度发布方法可包括如下步骤:
步骤601,响应于配置操作,在网关管理控制器的配置页面中配置第一灰度发布规则。
步骤602,响应于第一灰度发布规则配置完毕,向网关引擎发送第一灰度发布规则。
其中,第一灰度发布规则用于对第一灰度发布规则进行解析,以确定灰度发布规则中的第一灰度范围和第一灰度匹配规则;根据第一灰度匹配规则,从接收到的第一访问请求中,确定满足第一灰度匹配规则的第一用户请求;采用与第一灰度范围匹配的第一目标灰度版本响应第一用户请求,以向发送第一用户请求的第一客户端提供灰度服务,并采用当前版本响应第一访问请求中除第一用户请求之外的第二用户请求,以向发送第二用户请求的第二客户端提供正式服务。
本公开实施例的灰度发布方法,通过响应于配置操作,在网关管理控制器的配置页面中配置第一灰度发布规则;响应于第一灰度发布规则配置完毕,向网关引擎发送第一灰度发布规则,其中,第一灰度发布规则用于对第一灰度发布规则进行解析,以确定灰度发布规则中的第一灰度范围和第一灰度匹配规则;根据第一灰度匹配规则,从接收到的第一访问请求中,确定满足第一灰度匹配规则的第一用户请求;采用与第一灰度范围匹配的第一目标灰度版本响应第一用户请求,以向发送第一用户请求的第一客户端提供灰度服务,并采用当前版本响应第一访问请求中除第一用户请求之外的第二用户请求,以向发送第二用户请求的第二客户端提供正式服务,由此,在网关管理控制器的配置页面中配置第一灰度发布规则,基于网关引擎进行灰度发布,实现了流量引入和灰度服务的解耦,提高了灰度发布的灵活性,并且能够降低发布风险,提高用户体验和系统稳定性。
与上述图1至图5实施例提供的灰度发布方法相对应,本公开还提供一种灰度发布装置,由于本公开实施例提供的灰度发布装置与上述图1至图5实施例提供的灰度发布方法相对应,因此灰度发布方法的实施方式也适用于本公开实施例提供的灰度发布装置,在本公开实施例中不再详细描述。
图7是本公开第六实施例所示出的灰度发布装置的结构示意图。其中,本公开实施例的灰度发布装置应用于网关引擎。
如图7所示,该灰度发布装置700包括:接收模块710、解析模块720、第一确定模块730和处理模块740。
其中,接收模块710,用于接收网关管理控制器发送的第一灰度发布规则;解析模块720,用于对第一灰度发布规则进行解析,以确定第一灰度发布规则中的第一灰度范围和第一灰度匹配规则;第一确定模块730,用于根据第一灰度匹配规则,从接收到的第一访问请求中,确定满足第一灰度匹配规则的第一用户请求;处理模块740,用于采用与第一灰度范围匹配的第一目标灰度版本响应第一用户请求,以向发送第一用户请求的第一客户端提供灰度服务,并采用当前版本响应第一访问请求中除第一用户请求之外的第二用户请求,以向发送第二用户请求的第二客户端提供正式服务。
作为本公开实施例的一种可能的实现方式,处理模块740,用于获取多个候选灰度版本;从多个候选灰度版本中,获取与第一灰度范围匹配的第一目标灰度版本;其中,第一灰度范围包括:接口级和/或应用程序级;采用与第一目标灰度版本响应第一用户请求,以向发送第一用户请求的第一客户端提供灰度服务,并采用当前版本响应第二用户请求,以向发送第二用户请求的第二客户端提供正式服务。
作为本公开实施例的一种可能的实现方式,灰度发布装置700还包括:监测模块。
其中,监测模块,用于对第一目标灰度版本进行状态监测,以确定第一目标灰度版本是否处于可用状态;处理模块740,还用于响应于第一目标灰度版本处于可用状态,采用第一目标灰度版本响应第一用户请求,以向发送第一用户请求的第一客户端提供灰度服务,并采用当前版本响应第二用户请求,以向发送第二用户请求的第二客户端提供正式服务。
作为本公开实施例的一种可能的实现方式,处理模块740,还用于响应于第一目标灰度版本处于不可用状态,采用当前版本响应第一访问请求。
作为本公开实施例的一种可能的实现方式,监测模块,还用于在采用所述第一目标灰度版本响应所述第一用户请求的过程中,监测所述第一目标灰度版本的运行状态;第一确定模块730,还用于响应于第一目标灰度版本的运行状态从可用状态切换为不可用状态,从第一用户请求中确定未响应的第三用户请求;处理模块740,还用于采用当前版本响应第三用户请求,以向发送第三用户请求的第二客户端提供正式服务。
作为本公开实施例的一种可能的实现方式,接收模块710,还用于接收灰度更新指令,其中,所述灰度更新指令中包括:更新后的灰度发布规则,更新后的灰度发布规则包括:第二灰度范围和第二灰度匹配规则;所述灰度更新指令是在所述第一目标灰度版本的运行状态为可用状态时生成和发送的;处理模块740,还用于将接收到的第二访问请求中的第四用户请求采用与第二灰度范围匹配的第二目标灰度版本响应,以向发送第四用户请求的第三客户端提供灰度服务,以及将第二访问请求中除第四用户请求中的第五用户请求采用当前版本响应,其中,第四用户请求的第三数量大于所述第一用户请求的第一数量。
作为本公开实施例的一种可能的实现方式,第一灰度匹配规则包括:灰度发布流量比例,灰度发布流量比例用于指示访问流量引入至第一目标灰度版本和引入至当前版本的比例,第一确定模块730,用于获取第一访问请求的请求总数量;根据灰度发布流量比例和所述请求总数量,确定第一用户请求的第一数量;从第一访问请求中,确定第一数量的第一用户请求。
作为本公开实施例的一种可能的实现方式,第一灰度匹配规则包括:灰度请求参数;第一确定模块730,用于获取第一访问请求中的请求参数;根据灰度请求参数,对第一访问请求进行筛选,以从第一访问请求中,确定第一用户请求,其中,第一用户请求的请求参数与灰度请求参数匹配。
本公开实施例的灰度发布装置,应用于网关引擎,通过接收网关管理控制器发送的第一灰度发布规则;对第一灰度发布规则进行解析,以确定第一灰度发布规则中的第一灰度范围和第一灰度匹配规则;根据第一灰度匹配规则,从接收到的第一访问请求中,确定满足第一灰度匹配规则的第一用户请求;采用与第一灰度范围匹配的第一目标灰度版本响应第一用户请求,以向发送第一用户请求的第一客户端提供灰度服务,并采用当前版本响应第一访问请求中除第一用户请求之外的第二用户请求,以向发送第二用户请求的第二客户端提供正式服务,由此,实现了基于网关引擎进行灰度发布,能够降低发布风险,提高用户体验和系统稳定性。
与上述图6实施例提供的灰度发布方法相对应,本公开还提供一种灰度发布装置,由于本公开实施例提供的灰度发布装置与上述图6实施例提供的灰度发布方法相对应,因此灰度发布方法的实施方式也适用于本公开实施例提供的灰度发布装置,在本公开实施例中不再详细描述。
图8是本公开第七实施例所示出的灰度发布装置的结构示意图。其中,本公开实施例的灰度发布装置应用于网关管理控制器。
如图8所示,该灰度发布装置800包括:配置模块810和发送模块820。
其中,配置模块810,用于响应于配置操作,在所述网关管理控制器的配置页面中配置第一灰度发布规则;发送模块820,用于响应于所述第一灰度发布规则配置完毕,向网关引擎发送所述第一灰度发布规则,其中,第一灰度发布规则用于对第一灰度发布规则进行解析,以确定灰度发布规则中的第一灰度范围和第一灰度匹配规则;根据第一灰度匹配规则,从接收到的第一访问请求中,确定满足第一灰度匹配规则的第一用户请求;采用与第一灰度范围匹配的第一目标灰度版本响应第一用户请求,以向发送第一用户请求的第一客户端提供灰度服务,并采用当前版本响应第一访问请求中除第一用户请求之外的第二用户请求,以向发送第二用户请求的第二客户端提供正式服务。
本公开实施例的灰度发布装置,通过响应于配置操作,在网关管理控制器的配置页面中配置第一灰度发布规则;响应于第一灰度发布规则配置完毕,向网关引擎发送第一灰度发布规则,其中,第一灰度发布规则用于对第一灰度发布规则进行解析,以确定灰度发布规则中的第一灰度范围和第一灰度匹配规则;根据第一灰度匹配规则,从接收到的第一访问请求中,确定满足第一灰度匹配规则的第一用户请求;采用与第一灰度范围匹配的第一目标灰度版本响应第一用户请求,以向发送第一用户请求的第一客户端提供灰度服务,并采用当前版本响应第一访问请求中除第一用户请求之外的第二用户请求,以向发送第二用户请求的第二客户端提供正式服务,由此,在网关管理控制器的配置页面中配置第一灰度发布规则,基于网关引擎进行灰度发布,实现了流量引入和灰度服务的解耦,提高了灰度发布的灵活性,并且能够降低发布风险,提高用户体验和系统稳定性。在示例性实施例中,还提出了一种电子设备。
其中,电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,处理器被配置为执行指令,以实现如前述任一实施例提出的灰度发布方法。
作为一种示例,图9是本公开一示例性实施例所示出的电子设备900的结构示意图,如图9所示,上述电子设备900,还可以包括:
存储器910及处理器920,连接不同组件(包括存储器910和处理器920)的总线930,存储器910存储有计算机程序,当处理器920执行所述程序时实现本公开实施例所述的灰度发布方法。
总线930表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备900典型地包括多种电子设备可读介质。这些介质可以是任何能够被电子设备900访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器910还可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)940和/或高速缓存存储器950。服务器900可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统960可以用于读写不可移动的、非易失性磁介质(图9未显示,通常称为“硬盘驱动器”)。尽管图9中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线930相连。存储器910可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
具有一组(至少一个)程序模块970的程序/实用工具980,可以存储在例如存储器910中,这样的程序模块970包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块970通常执行本公开所描述的实施例中的功能和/或方法。
电子设备900也可以与一个或多个外部设备990(例如键盘、指向设备、显示器991等)通信,还可与一个或者多个使得用户能与该电子设备900交互的设备通信,和/或与使得该电子设备900能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口992进行。并且,电子设备900还可以通过网络适配器993与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器993通过总线930与电子设备900的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器920通过运行存储在存储器910中的程序,从而执行各种功能应用以及数据处理。
需要说明的是,本实施例的电子设备的实施过程和技术原理参见前述对本公开实施例的灰度发布方法的解释说明,此处不再赘述。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由电子设备的处理器执行以完成上述任一实施例提出的贷款产品的生成方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现上述任一实施例提出的灰度发布方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种灰度发布方法,其特征在于,应用于网关引擎,包括:
接收网关管理控制器发送的第一灰度发布规则;
对所述第一灰度发布规则进行解析,以确定所述第一灰度发布规则中的第一灰度范围和第一灰度匹配规则;
根据所述第一灰度匹配规则,从接收到的第一访问请求中,确定满足所述第一灰度匹配规则的第一用户请求;
采用与所述第一灰度范围匹配的第一目标灰度版本响应所述第一用户请求,以向发送所述第一用户请求的第一客户端提供灰度服务,并采用当前版本响应所述第一访问请求中除所述第一用户请求之外的第二用户请求,以向发送所述第二用户请求的第二客户端提供正式服务。
2.根据权利要求1所述的方法,其特征在于,所述采用与所述第一灰度范围匹配的第一目标灰度版本响应所述第一用户请求,以向发送所述第一用户请求的第一客户端提供灰度服务,并采用当前版本响应所述第一访问请求中除所述第一用户请求之外的第二用户请求,以向发送所述第二用户请求的第二客户端提供正式服务,包括:
获取多个候选灰度版本;
从所述多个候选灰度版本中,获取与所述第一灰度范围匹配的第一目标灰度版本;其中,所述第一灰度范围包括:接口级和/或应用程序级;
采用与所述第一目标灰度版本响应所述第一用户请求,以向发送所述第一用户请求的第一客户端提供灰度服务,并采用所述当前版本响应所述第二用户请求,以向发送所述第二用户请求的第二客户端提供正式服务。
3.根据权利要求1所述的方法,其特征在于,所述采用与所述第一目标灰度版本响应所述第一用户请求,以向发送所述第一用户请求的第一客户端提供灰度服务,并采用所述当前版本响应所述第二用户请求,以向发送所述第二用户请求的第二客户端提供正式服务之前,所述方法还包括:
对所述第一目标灰度版本进行状态监测,以确定所述第一目标灰度版本是否处于可用状态;
响应于所述第一目标灰度版本处于可用状态,采用所述第一目标灰度版本响应所述第一用户请求,以向发送所述第一用户请求的第一客户端提供灰度服务,并采用所述当前版本响应所述第二用户请求,以向发送所述第二用户请求的第二客户端提供正式服务。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
响应于所述第一目标灰度版本处于不可用状态,采用所述当前版本响应所述第一访问请求。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在采用所述第一目标灰度版本响应所述第一用户请求的过程中,监测所述第一目标灰度版本的运行状态;
响应于所述第一目标灰度版本的运行状态从可用状态切换为不可用状态,从所述第一用户请求中确定未响应的第三用户请求;
采用当前版本响应所述第三用户请求,以向发送所述第三用户请求的第二客户端提供正式服务。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收灰度更新指令,其中,所述灰度更新指令中包括:更新后的灰度发布规则,更新后的灰度发布规则包括:第二灰度范围和第二灰度匹配规则;所述灰度更新指令是在所述第一目标灰度版本的运行状态为可用状态时生成和发送的;
将接收到的第二访问请求中的第四用户请求采用与所述第二灰度范围匹配的第二目标灰度版本响应,以向发送所述第四用户请求的第三客户端提供灰度服务,以及将所述第二访问请求中除所述第四用户请求中的第五用户请求采用所述当前版本响应,其中,所述第四用户请求的第三数量大于所述第一用户请求的第一数量。
7.根据权利要求1所述的方法,其特征在于,所述第一灰度匹配规则包括:灰度发布流量比例,所述灰度发布流量比例用于指示所述访问流量引入至所述第一目标灰度版本和引入至所述当前版本的比例;
所述根据所述第一灰度匹配规则,从接收到的第一访问请求中,确定满足所述第一灰度匹配规则的第一用户请求,包括:
获取所述第一访问请求的请求总数量;
根据所述灰度发布流量比例和所述请求总数量,确定所述第一用户请求的第一数量;
从所述第一访问请求中,确定所述第一数量的第一用户请求。
8.根据权利要求1所述的方法,其特征在于,所述第一灰度匹配规则包括:灰度请求参数,所述根据所述第一灰度匹配规则,从接收到的第一访问请求中,确定满足所述第一灰度匹配规则的第一用户请求,包括:
获取所述第一访问请求中的请求参数;
根据所述灰度请求参数,对所述第一访问请求进行筛选,以从所述第一访问请求中,确定第一用户请求,其中,所述第一用户请求的请求参数与所述灰度请求参数匹配。
9.一种灰度发布方法,其特征在于,应用于网关管理控制器,包括:
响应于配置操作,在所述网关管理控制器的配置页面中配置第一灰度发布规则;
响应于所述第一灰度发布规则配置完毕,向网关引擎发送所述第一灰度发布规则,其中,所述第一灰度发布规则用于对所述第一灰度发布规则进行解析,以确定所述灰度发布规则中的第一灰度范围和第一灰度匹配规则;根据所述第一灰度匹配规则,从接收到的第一访问请求中,确定满足所述第一灰度匹配规则的第一用户请求;采用与所述第一灰度范围匹配的第一目标灰度版本响应所述第一用户请求,以向发送所述第一用户请求的第一客户端提供灰度服务,并采用当前版本响应所述第一访问请求中除所述第一用户请求之外的第二用户请求,以向发送所述第二用户请求的第二客户端提供正式服务。
10.一种灰度发布装置,其特征在于,应用于网关引擎,包括:
接收模块,用于接收网关管理控制器发送的第一灰度发布规则;
解析模块,用于对所述第一灰度发布规则进行解析,以确定所述第一灰度发布规则中的第一灰度范围和第一灰度匹配规则;
第一确定模块,用于根据所述第一灰度匹配规则,从接收到的第一访问请求中,确定满足所述第一灰度匹配规则的第一用户请求;
处理模块,用于采用与所述第一灰度范围匹配的第一目标灰度版本响应所述第一用户请求,以向发送所述第一用户请求的第一客户端提供灰度服务,并采用当前版本响应所述第一访问请求中除所述第一用户请求之外的第二用户请求,以向发送所述第二用户请求的第二客户端提供正式服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311606955.7A CN117692327A (zh) | 2023-11-28 | 2023-11-28 | 灰度发布方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311606955.7A CN117692327A (zh) | 2023-11-28 | 2023-11-28 | 灰度发布方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117692327A true CN117692327A (zh) | 2024-03-12 |
Family
ID=90134354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311606955.7A Pending CN117692327A (zh) | 2023-11-28 | 2023-11-28 | 灰度发布方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117692327A (zh) |
-
2023
- 2023-11-28 CN CN202311606955.7A patent/CN117692327A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10791200B2 (en) | Method, apparatus and server for providing voice service | |
KR100773016B1 (ko) | 데이터 처리 시스템, 테스트 방법, 모니터링 방법, 네트워크 데이터 처리 시스템, 데이터 처리 시스템 및 기록 매체 | |
US10158541B2 (en) | Group server performance correction via actions to server subset | |
US7287067B2 (en) | Dynamically configuring a server computer | |
US8863266B1 (en) | Dynamic throttling systems and services | |
US20020052937A1 (en) | Method and apparatus for verifying the contents of a global configuration file | |
US10452469B2 (en) | Server performance correction using remote server actions | |
EP1265417A2 (en) | Device management system and method | |
CN113127168A (zh) | 服务分配方法、系统、装置、服务器及介质 | |
CN101771565B (zh) | 单一服务器实现大批量或不同种基板管理控制器模拟方法 | |
CN112437047A (zh) | 一种远程服务器管理方法、系统及相关装置 | |
CN106789394A (zh) | 一种长连接服务器保活报文控制方法及系统 | |
CN113079164A (zh) | 堡垒机资源的远程控制方法、装置、存储介质及终端设备 | |
CN114328132A (zh) | 外部数据源的状态监控方法、装置、设备和介质 | |
CN111556080A (zh) | 网络节点监控方法、装置、介质及电子设备 | |
CN108011779A (zh) | 在有限的资源条件下云服务器任务吞吐率的测试方法 | |
CN110336884B (zh) | 服务器集群更新方法和装置 | |
CN117692327A (zh) | 灰度发布方法 | |
CN114938377B (zh) | 后端服务器管理方法、装置、可读介质及电子设备 | |
CN114465919B (zh) | 一种网络服务测试方法、系统、电子设备及存储介质 | |
CN115576791A (zh) | 压测线程的动态调整方法、装置、电子设备及存储介质 | |
CN112994934B (zh) | 数据交互方法、装置及系统 | |
JP2017212013A (ja) | ウェブサーバ | |
CN109656535B (zh) | 基于浏览器的语音技能离线开发方法 | |
CN115022278B (zh) | Cdn处理方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |