CN111628894A - 基于用户请求流量控制的灰度发布方法、装置及系统 - Google Patents
基于用户请求流量控制的灰度发布方法、装置及系统 Download PDFInfo
- Publication number
- CN111628894A CN111628894A CN202010469516.6A CN202010469516A CN111628894A CN 111628894 A CN111628894 A CN 111628894A CN 202010469516 A CN202010469516 A CN 202010469516A CN 111628894 A CN111628894 A CN 111628894A
- Authority
- CN
- China
- Prior art keywords
- server
- thread
- forwarding path
- request
- target
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Abstract
本发明提供了一种基于用户请求流量控制的灰度发布方法、装置及系统。在该方案中,当灰度发布线程处于开启状态时,网关所在的微服务架构处于服务升级状态。此时,网关通过灰度发布线程确定第二用户标识和目标转发路径,并通过对第二用户标识以及请求流量的第一用户标识进行比较,在比较一致时将请求流量作为测试流量进行转发,在比较不一致时将请求流量作为正常流量进行转发。如此,当请求流量为正常流量时不会访问到目标转发路径中的服务器,可以确保目标转发路径中的服务器在服务升级状态时安全下线。当请求流量为测试流量时能够访问到目标转发路径中的服务器,可以通过测试流量实现目标转发路径中的服务器在生产环境中的线上测试。
Description
技术领域
本发明涉及微服务架构系统中的软件升级技术领域,具体而言,涉及一种基于用户请求流量控制的灰度发布方法、装置及系统。
背景技术
微服务架构是一项在云中部署应用和服务的技术。在微服务架构的运行过程中,通常会存在若干次服务升级的过程。如果在生产环境下直接对服务器进行停机升级,难免会有部分用户的请求流量访问到处于停机升级状态的服务器。如果将完成升级但没有完成测试的服务器直接部署到生产环境中,在该服务器存在异常时,会导致整个微服务架构出现异常。由此可见,在微服务架构进行服务升级时,会存在服务器难以安全下线并难以在生产环境中进行线上测试的问题。
发明内容
为了改善上述问题,本发明提供了一种基于用户请求流量控制的灰度发布方法、装置及系统。
本发明的第一方面,提供了一种基于用户请求流量控制的灰度发布方法,应用于灰度发布系统中与多个服务器集群通信连接的网关,每个服务器集群包括至少一个服务器,所述方法包括:
在接收到请求流量时,判断预设的灰度发布线程是否处于开启状态;
在所述灰度发布线程处于开启状态时,根据所述灰度发布线程获取目标转发路径;其中,所述目标转发路径是测试流量的流量转发路径,所述目标转发路径中包括多个服务器,所述目标转发路径中的每个服务器位于不同的服务器集群中;
从所述请求流量中获取第一用户标识,以及从所述灰度发布线程中获取第二用户标识,所述第二用户标识是预先配置的测试流量对应的用户标识;
判断所述第一用户标识与所述第二用户标识是否一致;
在所述第一用户标识和所述第二用户标识一致时,按照所述目标转发路径对所述请求流量进行转发;
在所述第一用户标识和所述第二用户标识不一致时,按照除所述目标转发路径之外的其他转发路径对所述请求流量进行转发。
进一步地,按照所述目标转发路径对所述请求流量进行转发,包括:
将所述请求流量转发给所述目标转发路径中的第一个服务器,使第一个服务器根据预设的第三用户标识与所述第一用户标识之间的一致性比较结果,将所述请求流量转发给第一个服务器的下游服务器;
其中:
在所述第三用户标识与所述第一用户标识一致时,所述第一个服务器将所述请求流量转发给目标服务器;所述目标服务器是所述第一个服务器在所述目标转发路径中的下一个服务器;
在所述第三用户标识与所述第一用户标识不一致时,所述第一个服务器将所述请求流量转发给所述目标服务器所在的服务器集群中除所述目标服务器之外的任意一个服务器。
进一步地,所述方法还包括:
在接收到所述目标转发路径中的最后一个服务器根据接收到的所述请求流量所反馈的响应信息时,对所述灰度发布线程对应的第二用户标识进行修改。
进一步地,所述方法还包括:
确定是否接收到所述目标转发路径中的最后一个服务器所在的服务器集群中的每个服务器所反馈的响应信息;
若是,则将所述灰度发布线程从开启状态切换为关闭状态。
进一步地,从所述请求流量中获取第一用户标识,包括:
通过过滤器对所述请求流量进行分析,得到所述请求流量中的第一用户标识。
进一步地,按照所述目标转发路径对所述请求流量进行转发之前,所述方法还包括:
将所述第一用户标识添加到所述请求流量的请求头中。
进一步地,按照除所述目标转发路径之外的转发路径对所述请求流量进行转发,包括:
将所述请求流量转发给所述目标转发路径中的第一个服务器所在的服务器集群中除第一个服务器之外的任意一个服务器。
进一步地,从所述灰度发布线程中获取第二用户标识,包括:
解析所述灰度发布线程,得到所述灰度发布线程的线程参数以及各线程配置信息;
在基于所述线程参数确定出所述灰度发布线程存在静态配置信息类别和动态配置信息类别时,依据所述灰度发布线程在所述静态配置信息类别下的线程配置信息及其信息更新频率,确定所述灰度发布线程在所述动态配置信息类别下的各线程配置信息与所述灰度发布线程在所述静态配置信息类别下的各线程配置信息之间的信息更新的频率差;
将所述灰度发布线程在所述动态配置信息类别下的与所述灰度发布线程在所述静态配置信息类别下的线程配置信息的频率差小于设定差值的线程配置信息调整到所述静态配置信息类别下;
针对所述动态配置信息类别下的每个目标配置信息,确定所述目标配置信息的信息编辑路径;从预设脚本文件中提取与所述信息编辑路径匹配的编辑指令信息;在确定出所述编辑指令信息中的编辑对象为用户标识时,将所述目标配置信息的实例化结果确定为所述灰度发布线程对应的第二用户标识。
本发明的第二方面,提供了一种基于用户请求流量控制的灰度发布装置,应用于灰度发布系统中与多个服务器集群通信连接的网关,每个服务器集群包括至少一个服务器,所述装置包括:
状态判断模块,用于在接收到请求流量时,判断预设的灰度发布线程是否处于开启状态;
路径获取模块,用于在所述灰度发布线程处于开启状态时,根据所述灰度发布线程获取目标转发路径;其中,所述目标转发路径是测试流量的流量转发路径,所述目标转发路径中包括多个服务器,所述目标转发路径中的每个服务器位于不同的服务器集群中;
标识获取模块,用于从所述请求流量中获取第一用户标识,以及从所述灰度发布线程中获取第二用户标识,所述第二用户标识是预先配置的测试流量对应的用户标识;
流量转发模块,用于判断所述第一用户标识与所述第二用户标识是否一致;在所述第一用户标识和所述第二用户标识一致时,按照所述目标转发路径对所述请求流量进行转发;在所述第一用户标识和所述第二用户标识不一致时,按照除所述目标转发路径之外的其他转发路径对所述请求流量进行转发。
本发明的第三方面,提供了一种基于用户请求流量控制的灰度发布系统,所述系统包括级联的网关和多个服务器集群,每个服务器集群包括至少一个服务器;
所述网关用于:
在接收到请求流量时判断预设的灰度发布线程是否处于开启状态;在所述灰度发布线程处于开启状态时,根据所述灰度发布线程获取目标转发路径;其中,所述目标转发路径是测试流量的流量转发路径,所述目标转发路径中包括多个依次连接的服务器,每个服务器集群中存在一个服务器位于所述目标转发路径中;
从所述请求流量中获取第一用户标识,以及从所述灰度发布线程中获取第二用户标识,所述第二用户标识是预先配置的测试流量对应的用户标识;
在所述第一用户标识和所述第二用户标识一致时,按照所述目标转发路径对所述请求流量进行转发;在所述第一用户标识和所述第二用户标识不一致时,按照除所述目标转发路径之外的其他转发路径对所述请求流量进行转发;
所述服务器用于:
在接收到网关转发的请求流量时对所述请求流量继续进行转发。
通过上述技术方案,当灰度发布线程处于开启状态时,网关所在的微服务架构处于服务升级状态。在服务升级状态下,网关通过灰度发布线程确定第二用户标识和目标转发路径,并通过对第二用户标识以及请求流量的第一用户标识进行一致性比较,能够在第一用户标识与第二用户标识一致时将请求流量作为测试流量并按照目标转发路径对请求流量进行转发,在第一用户标识与第二用户标识不一致时将请求流量作为正常流量并按照其他转发路径对请求流量进行转发。如此,当请求流量为正常流量时不会访问到目标转发路径中的服务器,可以确保目标转发路径中的服务器在服务升级状态时安全下线。当请求流量为测试流量时能够访问到目标转发路径中的服务器,可以实现目标转发路径中的服务器在生产环境中的线上测试。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例所提供的一种基于用户请求流量控制的灰度发布系统的通信连接示意图。
图2为本发明实施例所提供的一种基于用户请求流量控制的灰度发布方法的流程图。
图3为本发明实施例所提供的一种基于用户请求流量控制的灰度发布装置的模块框图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
本发明实施例所提供的一种基于用户请求流量控制的灰度发布方法、装置及系统,当请求流量为正常流量时不会访问到目标转发路径中的服务器,可以确保目标转发路径中的服务器在服务升级状态时安全下线。当请求流量为测试流量时能够访问到目标转发路径中的服务器,可以实现目标转发路径中的服务器在生产环境中的线上测试。
请参阅图1,为本发明实施例提供的灰度发布系统100的通信连接示意图,该灰度发布系统100包括网关200和多个服务器集群,每个服务器集群中包括至少一个服务器,网关200和多个服务器集群级联。例如,网关200和服务集群A通信,服务集群A与服务集群B通信,服务集群B和服务器集群C通信,进而实现整个灰度发布系统100的多层级架构。
进一步地,图1中的实线箭头表征正常流量的流量转发路径,虚线箭头表征测试流量的流量转发路径,测试流量的流量转发路径可以理解为目标转发路径。其中,目标转发路径中包括多个服务器,目标转发路径中的每个服务器位于不同的服务集群中。例如,目标转发路径中包括的服务器可以是服务器A3、服务器B2和服务器C4,目标转发路径可以通过网关200预设的灰度发布线程获取。
在本实施例中,网关200内预设有灰度发布的配置信息,该配置信息对应上述的灰度发布线程,该配置信息中包括预先配置的测试流量的用户标识(用户ID)。网关200通过执行基于用户请求流量控制的灰度发布方法,能够有效改善在微服务架构进行服务升级时服务器难以安全下线并难以在生产环境中进行线上测试的问题。
请结合参阅图2,为本发明实施例提供的基于用户请求流量控制的灰度发布方法,该方法可以应用于图1中的网关200,具体可以包括以下步骤所描述的内容。
步骤210,在接收到请求流量时,判断预设的灰度发布线程是否处于开启状态;在灰度发布线程处于开启状态时转向步骤220。
在生产环境中,正常情况下用户的请求流量先发送到网关200,网关200再将请求流量转发给不同的服务器。网关200在转发请求流量之前,需要判断灰度发布线程是否处于开启状态,进而对请求流量是否为测试流量进行判断。
在本实施例中,灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式,一般用于系统不停机升级过程中。
在本实施例中,若灰度发布线程处于关闭状态,表征整个灰度发布系统中没有服务器进行软件升级,则可以将请求流量进行随机转发。例如,可以将请求流量转发给服务器A1、服务器A2和服务器A3中的任意一个。
步骤220,根据灰度发布线程获取目标转发路径。
在本实施例中,若灰度发布线程处于开启状态,表征整个灰度发布系统中存在服务器处于软件升级状态。在这种情况下,网关200可以通过灰度发布线程获取目标转发路径。在本实施例中,目标转发路径可以是服务器A3、服务器B2和服务器C4对应的路径。
步骤230,从请求流量中获取第一用户标识并从灰度发布线程中获取第二用户标识。
在本实施例中,网关200可以通过过滤器分析请求流量,识别用户身份,提取第一用户标识(用户ID),并将第一用户标识放入请求流量的请求头中。
步骤240,判断第一用户标识与第二用户标识是否一致;若一致则转向步骤250,若不一致则转向步骤260。
步骤250,按照目标转发路径对请求流量进行转发。
若第一用户标识与第二用户标识一致,则可以确定请求流量为测试流量。在这种情况下可以按照目标转发路径对请求流量进行转发。在本实施例中,目标转发路径中对应的服务器是处于软件升级状态下的服务器。请求流量转发到在目标转发路径中的服务器之间进行转发时,能够实现服务器在生产环境中的线上测试,且请求流量为测试流量,不会对整个灰度发布系统造成影响。
步骤260,按照除目标转发路径之外的其他转发路径对请求流量进行转发。
若第一用户标识与第二用户标识不一致,则可以确定请求流量为正常流量。在这种情况下,由于目标转发路径中的服务器是处于软件升级状态下的服务器,为了避免处于软件升级状态下的服务器接收正常流量而影响正常的业务,可以按照除目标转发路径之外的其他转发路径对请求流量进行转发。这样能够正常流量不会访问到软件升级状态下的服务器,进而确保软件升级状态下的服务器的安全下线。
进一步地,网关200可以将所述请求流量转发给所述目标转发路径中的第一个服务器所在的服务器集群中除第一个服务器之外的任意一个服务器。例如,网关200可以将请求流量转发给服务器集群A中的服务器A1或服务器A2。
在一个可替换的实施方式中,步骤250所描述的按照目标转发路径对请求流量进行转发,具体包括:
将请求流量转发给目标转发路径中的第一个服务器,使第一个服务器根据预设的第三用户标识与第一用户标识之间的一致性比较结果,将请求流量转发给第一个服务器的下游服务器。
例如,网关200可以将请求流量(请求头中携带有第一用户标识)转发给目标转发路径中的第一个服务器,如服务器A3。进一步地,服务器A3将预设的第三用户标识与第一用户标识进行比较,进而决定请求流向的后续的转发路径。
进一步地,在所述第三用户标识与所述第一用户标识一致时,所述第一个服务器将所述请求流量转发给目标服务器,所述目标服务器是所述第一个服务器在所述目标转发路径中的下一个服务器。在所述第三用户标识与所述第一用户标识不一致时,所述第一个服务器将所述请求流量转发给所述目标服务器所在的服务器集群中除所述目标服务器之外的任意一个服务器。
又例如,若服务器A3判断出第三用户标识与第一用户标识一致,则将请求流量转发给服务器A3在目标转发路径中的下一个服务器,如服务器B2。若服务器A3判断出第三用户标识与第一用户标识不一致,则将请求流量转发给服务器B2所在的服务器集群B中的服务器B1。
在本实施例中,服务器B2在接收到请求流量之后,同样会执行与上述类似的判断步骤,以便进一步确定请求流量的后续的转发路径。
在上述基础上,所述灰度发布方法还可以包括以下内容:在接收到所述目标转发路径中的最后一个服务器根据接收到的所述请求流量所反馈的响应信息时,对所述灰度发布线程对应的第二用户标识进行修改。
例如,在接收到服务器C4根据接收到的请求流量所反馈的响应信息时,网关200可以对灰度发布线程对应的第二用户标识进行修改,以便在生产环境下采用其他测试流量对目标转发路径中的服务器进行测试。
进一步地,网关200还可以通过以下方法判断所述服务器是否均完成软件升级以及升级测试从而关闭灰度发布线程:确定是否接收到所述目标转发路径中的最后一个服务器所在的服务器集群中的每个服务器所反馈的响应信息,若是,则将所述灰度发布线程从开启状态切换为关闭状态。
例如,若服务器集群中的服务器C1、服务器C2、服务器C3和服务器C4均向网关200反馈了响应信息,则网关200可以判断服务器集群A、服务器集群B和服务器集群C中的所有服务器均完成软件升级和测试。在这种情况下,网关200可以修改灰度发布线程对应的配置信息,以将灰度发布线程从开启状态切换为关闭状态。
可以理解,在关闭状态下,网关200可以将正常流量随机转发给服务器集群A中的任意一个服务器,该服务器也可以将正常流量转发给服务器集群B中的任意一个服务器,依次类推。
在一种可替换的实施方式中,为了能够准确地从灰度发布线程中获取第二用户标识,在步骤230中,从所述灰度发布线程中获取第二用户标识,具体包括以下子步骤231-子步骤234所描述的内容,具体描述如下。
子步骤231,解析所述灰度发布线程,得到所述灰度发布线程的线程参数以及各线程配置信息。
子步骤232,在基于所述线程参数确定出所述灰度发布线程存在静态配置信息类别和动态配置信息类别时,依据所述灰度发布线程在所述静态配置信息类别下的线程配置信息及其信息更新频率,确定所述灰度发布线程在所述动态配置信息类别下的各线程配置信息与所述灰度发布线程在所述静态配置信息类别下的各线程配置信息之间的信息更新的频率差。
子步骤233,将所述灰度发布线程在所述动态配置信息类别下的与所述灰度发布线程在所述静态配置信息类别下的线程配置信息的频率差小于设定差值的线程配置信息调整到所述静态配置信息类别下。
子步骤234,针对所述动态配置信息类别下的每个目标配置信息,确定所述目标配置信息的信息编辑路径;从预设脚本文件中提取与所述信息编辑路径匹配的编辑指令信息;在确定出所述编辑指令信息中的编辑对象为用户标识时,将所述目标配置信息的实例化结果确定为所述灰度发布线程对应的第二用户标识。
可以理解,通过上述子步骤231-子步骤234所描述的内容,能够准确地从灰度发布线程中获取第二用户标识。
在上述基础上,请结合参阅图3,为本发明实施例所提供的基于用户请求流量控制的灰度发布装置400的模块框图,所述灰度发布装置400包括状态判断模块410、路径获取模块420、标识获取模块430和流量转发模块440。
所述状态判断模块410在接收到请求流量时,判断预设的灰度发布线程是否处于开启状态。
所述路径获取模块420在所述灰度发布线程处于开启状态时,根据所述灰度发布线程获取目标转发路径;其中,所述目标转发路径是测试流量的流量转发路径,所述目标转发路径中包括多个服务器,所述目标转发路径中的每个服务器位于不同的服务器集群中。
所述标识获取模块430在从所述请求流量中获取第一用户标识,以及从所述灰度发布线程中获取第二用户标识,所述第二用户标识是预先配置的测试流量对应的用户标识。
所述流量转发模块440判断所述第一用户标识与所述第二用户标识是否一致;在所述第一用户标识和所述第二用户标识一致时,按照所述目标转发路径对所述请求流量进行转发;在所述第一用户标识和所述第二用户标识不一致时,按照除所述目标转发路径之外的其他转发路径对所述请求流量进行转发。
关于状态判断模块410、路径获取模块420、标识获取模块430和流量转发模块440的说明请参阅对图2中所示的步骤210-步骤240的描述,在此不作更多说明。
在上述基础上,还提供了一种基于用户请求流量控制的灰度发布系统,所述系统包括级联的网关和多个服务器集群,每个服务器集群包括至少一个服务器。
其中,所述网关用于:
在接收到请求流量时判断预设的灰度发布线程是否处于开启状态;在所述灰度发布线程处于开启状态时,根据所述灰度发布线程获取目标转发路径;其中,所述目标转发路径是测试流量的流量转发路径,所述目标转发路径中包括多个依次连接的服务器,每个服务器集群中存在一个服务器位于所述目标转发路径中;
从所述请求流量中获取第一用户标识,以及从所述灰度发布线程中获取第二用户标识,所述第二用户标识是预先配置的测试流量对应的用户标识;
在所述第一用户标识和所述第二用户标识一致时,按照所述目标转发路径对所述请求流量进行转发;在所述第一用户标识和所述第二用户标识不一致时,按照除所述目标转发路径之外的其他转发路径对所述请求流量进行转发;
进一步地,所述服务器用于:
在接收到网关转发的请求流量时对所述请求流量继续进行转发。
可以理解,关于基于用户请求流量控制的灰度发布系统的描述同样可以参阅对图2中所示的步骤210-步骤240的描述,在此不作更多说明。
可以理解,基于上述方案,网关和不同服务器集群中的服务器能够对请求流量的转发路径进行主动确定,进而控制请求流量在微服务架构中的走向。如此,无需对微服务架构中的所有服务器进行停机升级,也能够避免正常用户的请求流量访问到处于停机升级状态下的服务器,还能够直接在生产环境中通过测试流量对完成升级的服务器进行测试和验证,进而实现微服务架构的全链路系统升级和测试。
综上,本发明实施例提供的基于用户请求流量控制的灰度发布方法、装置及系统,当灰度发布线程处于开启状态时,网关所在的微服务架构处于服务升级状态。在服务升级状态下,网关通过灰度发布线程确定第二用户标识和目标转发路径,并通过对第二用户标识以及请求流量的第一用户标识进行一致性比较,能够在第一用户标识与第二用户标识一致时将请求流量作为测试流量并按照目标转发路径对请求流量进行转发,在第一用户标识与第二用户标识不一致时将请求流量作为正常流量并按照其他转发路径对请求流量进行转发。如此,当请求流量为正常流量时不会访问到目标转发路径中的服务器,可以确保目标转发路径中的服务器在服务升级状态时安全下线。当请求流量为测试流量时能够访问到目标转发路径中的服务器,可以实现目标转发路径中的服务器在生产环境中的线上测试。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种基于用户请求流量控制的灰度发布方法,其特征在于,应用于灰度发布系统中与多个服务器集群通信连接的网关,每个服务器集群包括至少一个服务器,所述方法包括:
在接收到请求流量时,判断预设的灰度发布线程是否处于开启状态;
在所述灰度发布线程处于开启状态时,根据所述灰度发布线程获取目标转发路径;其中,所述目标转发路径是测试流量的流量转发路径,所述目标转发路径中包括多个服务器,所述目标转发路径中的每个服务器位于不同的服务器集群中;
从所述请求流量中获取第一用户标识,以及从所述灰度发布线程中获取第二用户标识,所述第二用户标识是预先配置的测试流量对应的用户标识;
判断所述第一用户标识与所述第二用户标识是否一致;
在所述第一用户标识和所述第二用户标识一致时,按照所述目标转发路径对所述请求流量进行转发;
在所述第一用户标识和所述第二用户标识不一致时,按照除所述目标转发路径之外的其他转发路径对所述请求流量进行转发。
2.根据权利要求1所述的灰度发布方法,其特征在于,按照所述目标转发路径对所述请求流量进行转发,包括:
将所述请求流量转发给所述目标转发路径中的第一个服务器,使第一个服务器根据预设的第三用户标识与所述第一用户标识之间的一致性比较结果,将所述请求流量转发给第一个服务器的下游服务器;
其中:
在所述第三用户标识与所述第一用户标识一致时,所述第一个服务器将所述请求流量转发给目标服务器;所述目标服务器是所述第一个服务器在所述目标转发路径中的下一个服务器;
在所述第三用户标识与所述第一用户标识不一致时,所述第一个服务器将所述请求流量转发给所述目标服务器所在的服务器集群中除所述目标服务器之外的任意一个服务器。
3.根据权利要求1所述的灰度发布方法,其特征在于,所述方法还包括:
在接收到所述目标转发路径中的最后一个服务器根据接收到的所述请求流量所反馈的响应信息时,对所述灰度发布线程对应的第二用户标识进行修改。
4.根据权利要求3所述的灰度发布方法,其特征在于,所述方法还包括:
确定是否接收到所述目标转发路径中的最后一个服务器所在的服务器集群中的每个服务器所反馈的响应信息;
若是,则将所述灰度发布线程从开启状态切换为关闭状态。
5.根据权利要求1-4任一项所述的灰度发布方法,其特征在于,从所述请求流量中获取第一用户标识,包括:
通过过滤器对所述请求流量进行分析,得到所述请求流量中的第一用户标识。
6.根据权利要求1所述的灰度发布方法,其特征在于,按照所述目标转发路径对所述请求流量进行转发之前,所述方法还包括:
将所述第一用户标识添加到所述请求流量的请求头中。
7.根据权利要求1所述的灰度发布方法,其特征在于,按照除所述目标转发路径之外的转发路径对所述请求流量进行转发,包括:
将所述请求流量转发给所述目标转发路径中的第一个服务器所在的服务器集群中除第一个服务器之外的任意一个服务器。
8.根据权利要求1所述的灰度发布方法,其特征在于,从所述灰度发布线程中获取第二用户标识,包括:
解析所述灰度发布线程,得到所述灰度发布线程的线程参数以及各线程配置信息;
在基于所述线程参数确定出所述灰度发布线程存在静态配置信息类别和动态配置信息类别时,依据所述灰度发布线程在所述静态配置信息类别下的线程配置信息及其信息更新频率,确定所述灰度发布线程在所述动态配置信息类别下的各线程配置信息与所述灰度发布线程在所述静态配置信息类别下的各线程配置信息之间的信息更新的频率差;
将所述灰度发布线程在所述动态配置信息类别下的与所述灰度发布线程在所述静态配置信息类别下的线程配置信息的频率差小于设定差值的线程配置信息调整到所述静态配置信息类别下;
针对所述动态配置信息类别下的每个目标配置信息,确定所述目标配置信息的信息编辑路径;从预设脚本文件中提取与所述信息编辑路径匹配的编辑指令信息;在确定出所述编辑指令信息中的编辑对象为用户标识时,将所述目标配置信息的实例化结果确定为所述灰度发布线程对应的第二用户标识。
9.一种基于用户请求流量控制的灰度发布装置,其特征在于,应用于灰度发布系统中与多个服务器集群通信连接的网关,每个服务器集群包括至少一个服务器,所述装置包括:
状态判断模块,用于在接收到请求流量时,判断预设的灰度发布线程是否处于开启状态;
路径获取模块,用于在所述灰度发布线程处于开启状态时,根据所述灰度发布线程获取目标转发路径;其中,所述目标转发路径是测试流量的流量转发路径,所述目标转发路径中包括多个服务器,所述目标转发路径中的每个服务器位于不同的服务器集群中;
标识获取模块,用于从所述请求流量中获取第一用户标识,以及从所述灰度发布线程中获取第二用户标识,所述第二用户标识是预先配置的测试流量对应的用户标识;
流量转发模块,用于判断所述第一用户标识与所述第二用户标识是否一致;在所述第一用户标识和所述第二用户标识一致时,按照所述目标转发路径对所述请求流量进行转发;在所述第一用户标识和所述第二用户标识不一致时,按照除所述目标转发路径之外的其他转发路径对所述请求流量进行转发。
10.一种基于用户请求流量控制的灰度发布系统,其特征在于,所述系统包括级联的网关和多个服务器集群,每个服务器集群包括至少一个服务器;
所述网关用于:
在接收到请求流量时判断预设的灰度发布线程是否处于开启状态;在所述灰度发布线程处于开启状态时,根据所述灰度发布线程获取目标转发路径;其中,所述目标转发路径是测试流量的流量转发路径,所述目标转发路径中包括多个依次连接的服务器,每个服务器集群中存在一个服务器位于所述目标转发路径中;
从所述请求流量中获取第一用户标识,以及从所述灰度发布线程中获取第二用户标识,所述第二用户标识是预先配置的测试流量对应的用户标识;
在所述第一用户标识和所述第二用户标识一致时,按照所述目标转发路径对所述请求流量进行转发;在所述第一用户标识和所述第二用户标识不一致时,按照除所述目标转发路径之外的其他转发路径对所述请求流量进行转发;
所述服务器用于:
在接收到网关转发的请求流量时对所述请求流量继续进行转发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010469516.6A CN111628894B (zh) | 2020-05-28 | 2020-05-28 | 基于用户请求流量控制的灰度发布方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010469516.6A CN111628894B (zh) | 2020-05-28 | 2020-05-28 | 基于用户请求流量控制的灰度发布方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111628894A true CN111628894A (zh) | 2020-09-04 |
CN111628894B CN111628894B (zh) | 2022-11-15 |
Family
ID=72272659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010469516.6A Active CN111628894B (zh) | 2020-05-28 | 2020-05-28 | 基于用户请求流量控制的灰度发布方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111628894B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114157608A (zh) * | 2021-10-27 | 2022-03-08 | 车主邦(北京)科技有限公司 | 一种系统升级过程中控制流量的方法及装置 |
CN114422440A (zh) * | 2022-03-28 | 2022-04-29 | 北京沃丰时代数据科技有限公司 | 灰度发布方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2816476A1 (en) * | 2013-06-21 | 2014-12-24 | Wistron Neweb Corporation | Methods for upgrading firmware and electronic devices using the same |
CN104699504A (zh) * | 2015-03-03 | 2015-06-10 | 惠州Tcl移动通信有限公司 | 一种批量终端设备软件升级的方法及系统 |
US20150326613A1 (en) * | 2011-03-18 | 2015-11-12 | Zscaler, Inc. | Dynamic user identification and policy enforcement in cloud-based secure web gateways |
CN107145347A (zh) * | 2017-04-27 | 2017-09-08 | 努比亚技术有限公司 | 一种应用灰度发布方法、设备及存储介质 |
CN107861871A (zh) * | 2017-11-02 | 2018-03-30 | 百度在线网络技术(北京)有限公司 | 一种灰度发布方法、装置、服务器及存储介质 |
CN108376118A (zh) * | 2018-02-09 | 2018-08-07 | 腾讯科技(深圳)有限公司 | 服务发布系统、方法、设备及存储介质 |
CN110489133A (zh) * | 2019-08-23 | 2019-11-22 | 亿企赢网络科技有限公司 | 一种灰度发布方法、系统及电子设备和存储介质 |
CN110661835A (zh) * | 2018-06-29 | 2020-01-07 | 马上消费金融股份有限公司 | 一种灰度发布方法及其处理方法、节点及系统和存储装置 |
-
2020
- 2020-05-28 CN CN202010469516.6A patent/CN111628894B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150326613A1 (en) * | 2011-03-18 | 2015-11-12 | Zscaler, Inc. | Dynamic user identification and policy enforcement in cloud-based secure web gateways |
EP2816476A1 (en) * | 2013-06-21 | 2014-12-24 | Wistron Neweb Corporation | Methods for upgrading firmware and electronic devices using the same |
CN104699504A (zh) * | 2015-03-03 | 2015-06-10 | 惠州Tcl移动通信有限公司 | 一种批量终端设备软件升级的方法及系统 |
CN107145347A (zh) * | 2017-04-27 | 2017-09-08 | 努比亚技术有限公司 | 一种应用灰度发布方法、设备及存储介质 |
CN107861871A (zh) * | 2017-11-02 | 2018-03-30 | 百度在线网络技术(北京)有限公司 | 一种灰度发布方法、装置、服务器及存储介质 |
CN108376118A (zh) * | 2018-02-09 | 2018-08-07 | 腾讯科技(深圳)有限公司 | 服务发布系统、方法、设备及存储介质 |
CN110661835A (zh) * | 2018-06-29 | 2020-01-07 | 马上消费金融股份有限公司 | 一种灰度发布方法及其处理方法、节点及系统和存储装置 |
CN110489133A (zh) * | 2019-08-23 | 2019-11-22 | 亿企赢网络科技有限公司 | 一种灰度发布方法、系统及电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
杨建平等: "基于容器技术的新型智能网关设计", 《自动化博览》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114157608A (zh) * | 2021-10-27 | 2022-03-08 | 车主邦(北京)科技有限公司 | 一种系统升级过程中控制流量的方法及装置 |
CN114422440A (zh) * | 2022-03-28 | 2022-04-29 | 北京沃丰时代数据科技有限公司 | 灰度发布方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111628894B (zh) | 2022-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111628894B (zh) | 基于用户请求流量控制的灰度发布方法、装置及系统 | |
CN109726099B (zh) | 一种应用灰度发布方法、装置及设备 | |
CN109787830A (zh) | 灰度发布控制方法、装置、系统、电子设备及存储介质 | |
EP2696532A2 (en) | Method, server and system for starting application | |
CN110750278A (zh) | 灰度发布方法、装置、路由设备和存储介质 | |
CN108768728A (zh) | 运维任务处理方法、装置、计算机设备和存储介质 | |
CN106657259B (zh) | 一种用于服务器集群的路由服务器及路由服务方法 | |
CN111723018A (zh) | 性能压力测试方法、装置、设备及存储介质 | |
CN109766483A (zh) | 正则表达式生成方法、装置、计算机设备和存储介质 | |
CN114531467A (zh) | 一种信息处理方法、设备和系统 | |
WO2023108904A1 (zh) | 基站产品的生产测试方法及装置 | |
CN110928552B (zh) | 摄像模组的画质调控处理方法及系统 | |
CN108875368A (zh) | 一种安全检测方法、装置及系统 | |
CN115840642A (zh) | 一种边缘资源处理方法、装置、系统、设备和介质 | |
CN115113890A (zh) | 一种终端软件的自动化部署方法、系统、设备及介质 | |
CN113162992B (zh) | 系统的升级不断流控制方法、装置、设备和存储介质 | |
CN112540837B (zh) | 业务处理组件调用方法、系统、电子设备和存储介质 | |
CN110932905B (zh) | 一种室外机柜环境监控方法及系统 | |
CN113452622A (zh) | 一种基于客户端的灰度分流方法 | |
CN113032255A (zh) | 响应噪音的识别方法、模型、电子设备及计算机存储介质 | |
GB2583904A (en) | Commissioning a virtualised network function | |
CN108897679A (zh) | 一种部署服务器操作系统测试环境的方法及系统 | |
CN111083006B (zh) | 宽带数据稽核方法、装置、设备及存储介质 | |
CN117914971A (zh) | 大模型服务管理方法、系统、终端及存储介质 | |
CN118034243A (zh) | 一种实车的自动化测试方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |