CN117640729A - 流量控制方法、配置信息的发送方法、装置和电子设备 - Google Patents
流量控制方法、配置信息的发送方法、装置和电子设备 Download PDFInfo
- Publication number
- CN117640729A CN117640729A CN202311607193.2A CN202311607193A CN117640729A CN 117640729 A CN117640729 A CN 117640729A CN 202311607193 A CN202311607193 A CN 202311607193A CN 117640729 A CN117640729 A CN 117640729A
- Authority
- CN
- China
- Prior art keywords
- retry
- request
- target
- node
- information
- 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 91
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 210
- 230000004044 response Effects 0.000 claims description 61
- 230000002159 abnormal effect Effects 0.000 claims description 46
- 230000006870 function Effects 0.000 claims description 28
- 230000005540 biological transmission Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 230000000694 effects Effects 0.000 abstract description 9
- 230000008569 process Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- 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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开提供了一种流量控制方法、配置信息的发送方法、装置和电子设备,涉及计算机技术领域,尤其涉及智能搜索技术领域。具体实现方案为:流量控制方法,应用于分布式系统中的目标节点,所述方法包括:向控制中心服务器发送目标节点的请求信息;接收控制中心服务器基于请求信息发送的目标配置更新信息,目标配置更新信息包括第一子配置信息和第二子配置信息,第一子配置信息用于对至少一个上游节点的重试请求进行限流,第二子配置信息用于关闭目标节点对至少一个下游节点的重试请求功能;基于第一子配置信息对至少一个上游节点的重试请求进行限流,基于第二子配置信息关闭目标节点对至少一个下游节点的重试请求功能。本公开提高流量的控制效果。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及智能搜索技术领域。具体涉及一种流量控制方法、配置信息的发送方法、装置和电子设备。
背景技术
在分布式服务架构中,通常需要由多个节点协同工作,以提供对应的服务。例如,以响应用户请求为例,通常需要由网关节点、服务器节点和数据库节点三个节点协同工作才能实现对用户请求的响应,具体地,网关节点接收到用户请求后将用户请求转发至特定服务器节点,然后,由服务器节点向数据库节点请求对应的响应数据,并将获取到的响应数据发送至客户端,以实现对用户请求的响应过程。
发明内容
本公开提供了一种流量控制方法、配置信息的发送方法、装置和电子设备。
根据本公开的第一方面,提供了一种流量控制方法,应用于分布式系统中的目标节点,所述方法包括:
向控制中心服务器发送所述目标节点的请求信息,所述请求信息为所述目标节点基于所接收到的至少一个上游节点发送的请求生成的请求信息;
接收所述控制中心服务器基于所述请求信息发送的目标配置更新信息,其中,所述目标配置更新信息为:在所述控制中心服务器基于所述请求信息确定所述目标节点处于预设异常状态下发送的信息,且所述目标配置更新信息包括第一子配置信息和第二子配置信息,所述第一子配置信息用于对所述至少一个上游节点的重试请求进行限流,所述第二子配置信息用于关闭所述目标节点对至少一个下游节点的重试请求功能;
基于所述第一子配置信息对所述至少一个上游节点的重试请求进行限流,基于所述第二子配置信息关闭所述目标节点对所述至少一个下游节点的重试请求功能。
根据本公开的第二方面,提供了一种配置信息的发送方法,其中,应用于控制中心服务器,所述方法包括:
接收分布式系统中的目标节点发送的请求信息,所述请求信息为所述目标节点基于所接收到的至少一个上游节点发送的请求生成的请求信息;
在所述请求信息表征所述目标节点处于预设异常状态的情况下,基于所述请求信息生成目标配置更新信息,其中,所述目标配置更新信息包括第一子配置信息和第二子配置信息,所述第一子配置信息用于对所述至少一个上游节点的重试请求进行限流,所述第二子配置信息用于关闭所述目标节点对至少一个下游节点的重试请求功能;
向所述目标节点发送所述目标配置更新信息。
根据本公开的第三方面,提供了一种流量控制装置,应用于分布式系统中的目标节点,所述装置包括:
第一发送模块,用于向控制中心服务器发送所述目标节点的请求信息,所述请求信息为所述目标节点基于所接收到的至少一个上游节点发送的请求生成的请求信息;
第一接收模块,用于接收所述控制中心服务器基于所述请求信息发送的目标配置更新信息,其中,所述目标配置更新信息为:在所述控制中心服务器基于所述请求信息确定所述目标节点处于预设异常状态下发送的信息,且所述目标配置更新信息包括第一子配置信息和第二子配置信息,所述第一子配置信息用于对所述至少一个上游节点的重试请求进行限流,所述第二子配置信息用于关闭所述目标节点对至少一个下游节点的重试请求功能;
限流模块,用于基于所述第一子配置信息对所述至少一个上游节点的重试请求进行限流,基于所述第二子配置信息关闭所述目标节点对所述至少一个下游节点的重试请求功能。
根据本公开的第四方面,提供了一种配置信息的发送装置,其中,应用于控制中心服务器,所述装置包括:
第二接收模块,用于接收分布式系统中的目标节点发送的请求信息,所述请求信息为所述目标节点基于所接收到的至少一个上游节点发送的请求生成的请求信息;
生成模块,用于在所述请求信息表征所述目标节点处于预设异常状态的情况下,基于所述请求信息生成目标配置更新信息,其中,所述目标配置更新信息包括第一子配置信息和第二子配置信息,所述第一子配置信息用于对所述至少一个上游节点的重试请求进行限流,所述第二子配置信息用于关闭所述目标节点对至少一个下游节点的重试请求功能;
第二发送模块,用于向所述目标节点发送所述目标配置更新信息。
根据本公开的第五方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面或第二方面所述的方法。
根据本公开的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述第一方面或第二方面所述的方法。
根据本公开的第七方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现第一方面或第二方面所述的方法。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是本公开实施例提供的一种流量控制方法的流程图;
图2是本公开实施例中,分布式系统与控制中心服务器连接的结构示意图;
图3是本公开实施例提供的一种配置信息的发送方法的流程图;
图4是本公开实施例提供的一种流量控制装置的结构示意图之一;
图5是本公开实施例提供的一种流量控制装置的结构示意图之二;
图6是本公开实施例提供的一种配置信息的发送装置的结构示意图之一;
图7是本公开实施例提供的一种配置信息的发送装置的结构示意图之二;
图8本公开实施例提供的用于实现流量控制方法或配置信息的发送方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
请参见图1,图1为本公开实施例提供的一种流量控制方法的流程示意图,所述流量控制方法应用于分布式系统中的目标节点,所述流量控制方法包括以下步骤:
步骤101、向控制中心服务器发送所述目标节点的请求信息,所述请求信息为所述目标节点基于所接收到的至少一个上游节点发送的请求生成的请求信息;
步骤102、接收所述控制中心服务器基于所述请求信息发送的目标配置更新信息,其中,所述目标配置更新信息为:在所述控制中心服务器基于所述请求信息确定所述目标节点处于预设异常状态下发送的信息,且所述目标配置更新信息包括第一子配置信息和第二子配置信息,所述第一子配置信息用于对所述至少一个上游节点的重试请求进行限流,所述第二子配置信息用于关闭所述目标节点对至少一个下游节点的重试请求功能;
步骤103、基于所述第一子配置信息对所述至少一个上游节点的重试请求进行限流,基于所述第二子配置信息关闭所述目标节点对所述至少一个下游节点的重试请求功能。
其中,上述控制中心服务器可以是独立于所述分布式系统之外的服务器,或者,所述控制中心服务器也可以是所述分布式系统中的其中一个服务器。且所述控制中心服务器用于对目标节点的状态进行监控,并在确定目标节点处于预设异常状态的情况下,向目标节点下发目标配置更新信息,以更新目标节点中的配置,在目标节点基于目标配置更新信息进行配置更新之后,可以同时对上游流量和下游流量进行限流。
具体地,所述目标节点中可以预先配置所述控制中心服务器对应的控制中心客户端,具体可以通过引入库的形式在目标节点中集成控制中心客户端,其中,所述控制中心服务器可以对目标节点的状态进行监控,并在目标节点处于预设异常状态时,向目标节点分发配置更新信息,此外,用户也可以手动通过控制中心服务器向目标节点发送配置更新信息,以实现人工干预或异常场景出现时控制中心智能干预。干预时,目标节点根据控制中心服务器分发的配置更新信息,对上游节点限制重试流量,对下游节点关闭重试流量,实现对上游流量和下游流量进行限流。即本公开实施例中,目标节点具有配置自修改能力,如此,通过在目标节点中直接修改配置或修改,以实现对目标节点上游流量和下游流量的限流。
上述控制中心服务器可以同时对多个不同的目标节点的状态进行监控,并向出现预设异常的目标节点发送目标配置更新信息。所述目标节点可以定时检测是否有新的配置信息,并在检测到新的配置信息的情况下,更新本地配置,并调用对应的配置解析方法,重新加载配置,使得配置修改生效。
可以理解的是,上述分布式系统可以包括上述目标节点、所述目标节点的至少一个上游节点和所述目标节点的至少一个下游节点,其中,所述目标节点用于接收并响应所述至少一个上游节点的请求,所述下游节点用于接收并响应所述目标节点的请求。
上述请求信息可以是:基于当前时间点之前的一段时间内,所述至少一个上游节点向所述目标节点发送的所有请求生成的请求信息。其中,所述上游节点可以向所述目标节点发送各种类型的请求,例如,各种类型的数据查询请求、数据处理请求等。当所述目标节点出现异常时,所述目标节点可能无法成功对上游节点的请求进行响应,而目标节点对上游节点的请求失败时,上游节点通常会发送重试请求,当某一请求重试次数超过设定值时,所述目标节点还可能拒绝对该请求进行响应。因此,所述请求信息可以是对所述至少一个上游节点所发送的请求中的重试请求进行统计得到的信息,如此,当所述请求信息表征所述至少一个上游节点向目标节点发送的请求中,重试请求的数量偏离正常数量时,可以确定目标节点处于预设异常状态。或者,所述请求信息也可以是对所述至少一个上游节点所发送的请求中被目标节点拒绝的请求的数量进行统计得到的信息,如此,当所述请求信息表征所述至少一个上游节点向目标节点发送的请求中,被拒绝响应的请求数量偏离正常数量时,可以确定目标节点处于预设异常状态。
上述预设异常状态具体可以是指所述目标节点无法正常对所接收到的请求进行处理的异常状态。例如,对所接收到的请求处理的耗时高于正常范围,或者,对所接收到的请求处理的成功率低于正常范围等。
上述重试请求具体是指:当目标节点对上游节点发送的某一请求响应失败之后,上游节点再次向目标节点发送的重复的请求。且所述重试请求中可以包括重查标识,该重查标识用于表征该请求为重试请求。
由于当目标节点对上游节点的请求响应失败时,上游节点通常会重新将该请求发送至目标节点进行重试,因此,上述基于所述第一子配置信息对所述至少一个上游节点的重试请求进行限流,具体可以是指:通过第一子配置信息中的重试阈值,对上游节点向目标节点发送的某一请求的重试次数进行限制。即上游节点向目标节点针对同一请求重试的次数不允许超过所述重试阈值。如此,从而可以避免因上游节点的某一请求无限次向目标节点进行请求,以实现对上游请求的限流。具体地,在进行限流的过程中,还可以根据应用程序编程接口(Application Programming Interface,API)路径、流量的重查标识、流量的每秒查询率(Queries-per-second,QPS)等制定限流规则,例如,当根据API路径制定限流规则时,可以设置每个API接口发送的重试请求的上限。又例如,当根据流量的重查标识进行限流时,可以根据重查标识确定同一请求重试的次数,并限制同一请求重试的次数的上限。又例如,当根据流量的QPS制定限流规则时,可以限制上游节点发送重试请求的每秒并发量。
上述基于所述第二子配置信息关闭所述目标节点对所述至少一个下游节点的重试请求功能具体可以是指:当下游节点针对所述目标节点的请求响应失败时,目标节点不再向下游节点发送重试请求,即当下游节点对于目标节点的请求响应失败时,目标节点不会再次向下游节点发送重复的请求,如此,可以避免在目标节点出现预设异常的情况下,因目标节点重复向下游节点发送同一请求,而引发下游流量激增的问题,以实现对下游请求的限流。
上述分布式系统可以是各种场景下的分布式系统,例如,所述分布式系统可以是各种搜索场景下的分布式系统,所述目标节点可以是分布式系统中的一个中间处理节点,且所述目标节点可以接收上游节点发送的搜索请求,并确定所述搜索请求所请求的数据所存储的下游节点,然后,向所确定的下游节点请求对应的数据。具体地,在搜索场景中,多个垂直搜索业务的服务使用了同一套架构,其中上游的流量来源不固定,包括搜索流量分发模块、搜索网关、策略评估任务模块、定时抓取模块等,因此,所述至少一个上游节点可以包括搜索流量分发模块、搜索网关、策略评估任务模块、定时抓取模块等。相应地,下游模块也不固定,包括redis、mysql等,因此,所述至少一个下游节点可以包括redis、mysql等。
请参见图2,在本公开一些实施例中,所述目标节点的上游节点可以包括上游节点A和上游节点B等,所述目标节点的下游节点可以包括下游节点A和下游节点B等。所述目标节点中具体可以包括:模块接入层、模块功能层和模块调度层,其中,所述模块接入层具体可以用于接入上游节点发送的请求,所述模块功能层具体可以实现目标节点的处理功能,例如,所述模块功能层可以确定上游节点发送的请求所请求的数据的存储位置。所述模块调度层用于向下游节点发送请求。所述控制中心服务器发送的目标配置更新信息中的第一子配置信息可以用于对所述模块接入层的配置进行更新,所述目标配置更新信息中的第二子配置信息可以用于对所述模块调度层的配置进行更新。
该实施方式中,在目标节点处于预设异常状态的情况下,通过控制中心服务器向目标节点发送目标配置更新信息,如此,目标节点可以基于目标配置更新信息中的第一子配置信息对所述至少一个上游节点的重试请求进行限流,同时,基于目标配置更新信息中的第二子配置信息关闭所述目标节点对所述至少一个下游节点的重试请求功能,如此,可以实现同时对目标节点的上游流量和下游流量进行限流,避免因目标节点异常,流量无法得到及时的处理,而引发雪崩的问题,从而有利于提高流量的控制效果。
可选地,所述第一子配置信息包括重试阈值,所述基于所述目标配置更新信息对所述目标节点的配置进行更新之后,所述方法还包括:
在接收到第一上游节点发送的第一重试请求的情况下,获取所述第一重试请求对应的重试次数,所述第一上游节点为所述至少一个上游节点中的任意上游节点;
在所述重试次数小于或等于所述重试阈值的情况下,对所述第一重试请求进行响应;
在所述重试次数大于所述重试阈值的情况下,拒绝所述第一重试请求。
其中,所述第一重试请求可以是目标节点对第一上游节点发送的某一请求响应失败之后,所述第一上游节点再次向目标节点发送的相同请求。
上述重试阈值可以是预先设置的阈值,例如,所述重试阈值可以为1、2、5等。此外,所述重试阈值也可以根据所述请求信息进行确定,即不同的请求信息可以对应不同的重试阈值。
上述目标节点可以在接收到上游节点的请求之后,根据请求标识统计各个请求重试的次数。或者,上述重试请求中可以包括重查标识,该重查标识可以表征该请求的重试次数。所述重试次数即同一个请求在响应失败之后,重复发生的次数。如此,所述目标节点在接收到第一重试请求的情况下,可以确定该第一重试请求的重试次数。
在本公开一些实施例中,当所述第一重试请求为数据获取请求时,所述对所述第一重试请求进行响应具体可以是指:目标节点响应于所述第一重试请求,获取所述第一重试请求所请求的数据,其中,所述目标节点对所述第一重试请求进行响应的结果可能是响应成功,也可能是响应失败。
上述拒绝所述第一重试请求具体是指:拒绝对所述第一重试请求进行响应。可以理解的是,当所述目标节点向上游节点发送拒绝响应的响应消息时,上游节点不会再次向目标节点发送重试请求。而当目标节点对于上游节点的请求响应失败,并向上游节点发送响应失败的响应消息时,所述上游节点可以再次向目标节点发送重试请求。
该实施方式中,通过使所述第一子配置信息包括重试阈值,如此,可以对上游节点发送请求的重试次数进行限制,从而实现对上游请求的限流。
可选地,所述第一子配置信息包括与所述至少一个上游节点一一对应的至少一个重试阈值,且在所述目标节点具有至少两个上游节点时,所述至少两个上游节点中,不同的上游节点对应的重试阈值不同;
所述在所述重试次数小于或等于所述重试阈值的情况下,对所述第一重试请求进行响应,包括:
在所述重试次数小于或等于所述第一上游节点所对应的重试阈值的情况下,对所述第一重试请求进行响应;
所述在所述重试次数大于所述重试阈值的情况下,拒绝所述第一重试请求,包括:
在所述重试次数大于所述第一上游节点所对应的重试阈值的情况下,拒绝所述第一重试请求。
上述所述目标节点具有至少两个上游节点具体是指:在所述分布式系统中,与所述目标节点直接相连的上游节点的数量为至少两个。
由于所述至少两个上游节点中,不同的上游节点所请求的业务数据的类型可能不同,即不同的上游节点所对应的业务可以不同,基于此,可以根据所述至少两个上游节点所对应的业务的重要程度,对所述至少两个上游节点进行优先级划分,其中,上游节点所对应的业务的重要程度越高,则该上游节点的优先级也越高。这样,在对上游请求进行限流的过程中,可以优先保证优先级高的上游节点的请求能够得到目标节点响应,即在同等情况下,优先级高的业务节点的允许的重试请求的次数可以更多。即可以设置,优先级越高的上游节点对应的重试阈值越大。
该实施方式中,通过使所述至少两个上游节点中,不同的上游节点对应的重试阈值不同,如此,可以实现为不同的上游节点设置不同的限流策略,这样,在对上游请求进行限流的过程中,可以优先保证重要程度高的上游节点的请求能够得到目标节点响应。
可选地,所述至少一个上游节点用于向所述目标节点发送至少两种类型的请求,所述至少两种类型的请求中,不同类型的请求对应的重试阈值不同;
所述在所述重试次数小于或等于所述重试阈值的情况下,对所述第一重试请求进行响应,包括:
在所述重试次数小于或等于第一请求类型对应的重试阈值的情况下,对所述第一重试请求进行响应,其中,所述第一请求类型为所述第一重试请求的请求类型;
所述在所述重试次数大于所述重试阈值的情况下,拒绝所述第一重试请求,包括:
在所述重试次数大于所述第一请求类型对应的重试阈值的情况下,拒绝所述第一重试请求。
其中,所述至少两种类型可以包括:所述至少一个上游节点能够向目标节点发送的所有请求类型。具体地,各个上游节点可以向目标节点发送所述至少两种类型的请求中的所有类型的请求,或者,一个上游节点也可以只能向目标节点发送所述至少两种类型的请求中的部分类型的请求。
由于所述至少两种类型的请求中,不同类型的请求所请求的业务数据的类型可能不同,即不同类型的请求所对应的业务可以不同,基于此,可以根据所述至少两种类型的请求所对应的业务的重要程度,对所述至少两种类型的请求进行优先级划分,其中,某种类型的请求所对应的业务的重要程度越高,则该类型的请求的优先级也越高。这样,在对上游请求进行限流的过程中,可以优先保证优先级高的请求类型的请求能够得到目标节点响应,即在同等情况下,优先级高的请求类型的允许的重试请求的次数可以更多。即可以设置,优先级越高的请求类型对应的重试阈值越大。
该实施方式中,通过使所述至少两种类型的请求中,不同类型的请求对应的重试阈值不同,如此,可以实现为不同的请求类型设置不同的限流策略,这样,在对上游请求进行限流的过程中,可以优先保证重要程度高的请求类型的请求能够得到目标节点响应。
可选地,所述请求信息为所述目标节点基于预设时间段内所接收到的至少一个上游节点发送的请求生成的请求信息;
所述请求信息包括目标参数,所述目标参数为重试请求次数或拒绝响应次数,所述重试请求次数为所述预设时间段内,所述目标节点接收到所述至少一个上游节点发送的重试请求的次数;所述拒绝响应次数为所述预设时间段内,所述目标节点对所述至少一个上游节点发送的请求,拒绝响应的次数;
在所述目标参数位于预设范围内的情况下,所述目标节点处于所述预设异常状态。
上述预设时间段可以是当前时间点之前的一个时间段,且所述预设时间段的结束时间点为当前时间点,例如,可以是当前时间点之前的前5s内、前10s内、1分钟内、5分钟内等。如此,通过基于当前时间点前的一小段时间内的请求信息,可以确定目标节点的当前状态,并在确定目标节点当前处于预设异常状态的情况下,通过控制中心服务器及时向目标节点发送目标配置更新信息,以对目标节点的上游流量和下游流量同时进行限流。,由于通过发布配置的形式进行限流,可以实现分钟级生效到目标节点,从而避免因限流不及时而导致的雪崩的问题,进而有利于提高流量控制效果。
上述重试请求次数即所述预设时间段内,所述目标节点的所有上游节点向目标节点发送的重试请求之和。相应地,所述拒绝响应次数即所述预设时间段内,所述目标节点对于其所有上游节点的请求,拒绝响应的次数之和。
其中,当所述目标参数为重试请求次数时,所述预设范围可以为第一预设范围,当所述目标参数为拒绝响应次数时,所述预设范围可以为第二预设范围,所述第一预设范围和第二预设范围可以是不同的预设范围。
可以理解的是,所述预设范围可以根据实际经验确定的范围,例如,所述预设范围可以是大于某一个预设值的范围,即当重试请求次数或拒绝响应次数大于该预设值时,确定所述目标节点处于预设异常状态,其中,所述预设值可以是10、20、30等。此外,上述预设范围也可以根据时段动态变化,具体地,由于不同时间段,所述至少一个上游节点向目标节点发送的请求数量通常不同,在用户访问高峰期的请求数量通常要远高于用户访问低谷期的请求数量,而用户请求数量越多,则相应地重试请求次数或拒绝响应次数也越多,因此,可以为不同时段设置不同的预设值,例如,访问高峰时段的预设值大于访问低估时段的预设值。
该实施方式中,通过设置预设范围,如此,可以通过判断所述目标参数是否位于所述预设范围之内,即可确定所述目标节点是否处于预设异常状态。
可选地,所述预设范围包括至少两个子范围,所述至少两个子范围与至少两个候选配置更新信息一一对应,且所述至少两个候选配置更新信息中,不同的候选配置更新信息中的所述重试阈值不同;
在所述目标参数位于所述至少两个子范围中的目标子范围内的情况下,所述目标配置更新信息为所述目标子范围所对应的候选配置更新信息。
可以理解的是,所述至少两个子范围为对所述预设范围进行划分之后得到的范围,例如,当所述预设范围为大于[10,+∞)的范围时,所述至少两个子范围可以包括如下三个:[10,20]、(20,50]和(50,+∞)。
具体地,上述重试阈值的取值可以与所述子范围的取子范围中的最小值呈负相关,即子范围的取子范围中的最小值越大时,则该子范围所对应的重试阈值越小。例如,当所述至少两个子范围包括如下三个子范围时:[10,20]、(20,50]和(50,+∞),子范围[10,20]对应的重试阈值可以为5,子范围(20,50]对应的重试阈值可以为3,子范围(50,+∞)对应的重试阈值可以为0。如此,当所述重试请求次数或拒绝响应次数越大时,则第一子配置信息中的重试阈值越小。由于所述重试请求次数或拒绝响应次数越大,则发生雪崩的概率越高,此时,通过减小重试阈值,从而有利于提高限流效果,进而降低发生雪崩的概率。
该实施方式中,通过使不同的候选配置更新信息中的所述重试阈值不同,如此,可以根据重试请求次数或拒绝响应次数动态调整重试阈值的大小,从而有利于进一步提高对流量的控制效果。
可选地,所述方法还包括:
每隔第一预设时长向所述控制中心服务器发送请求信息,以使所述控制中心服务器基于所接收到的请求信息确定所述目标节点是否处于所述预设异常状态;
其中,第i次向所述控制中心服务器发送的请求信息为:第i个预设时间段内所述至少一个上游节点对所述目标节点的请求信息,所述第i个预设时间段为第i次发送的发送时间点的前第二预设时长所形成的时间段,所述i为正整数。
上述第一预设时长可以是一个相对较短的时长,例如,20s、30s或50s等。所述第二预设时长可以等于所述第一预设时长,或者,所述第二预设时长也可以不等于所述第二预设时长,例如,所述第二预设时长可以是20s、50s或5分钟等。
可以理解的是,所述控制中心服务器在接收到第i次发送的请求信息时,若根据所述第i次发送的请求信息确定所述目标节点处于预设异常状态,则根据所述第i次发送的请求信息生成对应的目标配置更新信息,并将所生成的目标配置更新信息发送至目标节点,以便于目标节点基于所述目标配置更新中的第一子配置信息对所述至少一个上游节点的重试请求进行限流,以及,基于所述目标配置更新中的第二子配置信息关闭所述目标节点对所述至少一个下游节点的重试请求功能。相应地,当控制中心服务器根据所述第i次发送的请求信息确定所述目标节点不处于预设异常状态时,则不会进行任何处理。
可以理解的是,上述实施例中的请求信息可以是“每隔第一预设时长向所述控制中心服务器发送请求信息”过程中的其中一次发送的请求信息。
该实施方式中,通过每隔第一预设时长向所述控制中心服务器发送请求信息,以使所述控制中心服务器基于所接收到的请求信息确定所述目标节点是否处于所述预设异常状态,如此,并在确定目标节点处于预设异常状态的情况下,及时向目标节点发送对应的目标更新信息,从而有利于在目标节点处于异常状态的情况下,对目标节点的上游流量和下游流量进行限流,以避免雪崩现象。
请参见图3,为本公开实施例提供的一种配置信息的发送方法的流程示意图,所述配置信息的发送方法应用于控制中心服务器,且所述配置信息的发送方法包括以下步骤:
步骤301、接收分布式系统中的目标节点发送的请求信息,所述请求信息为所述目标节点基于所接收到的至少一个上游节点发送的请求生成的请求信息;
步骤302、在所述请求信息表征所述目标节点处于预设异常状态的情况下,基于所述请求信息生成目标配置更新信息,其中,所述目标配置更新信息包括第一子配置信息和第二子配置信息,所述第一子配置信息用于对所述至少一个上游节点的重试请求进行限流,所述第二子配置信息用于关闭所述目标节点对至少一个下游节点的重试请求功能;
步骤303、向所述目标节点发送所述目标配置更新信息。
该实施方式为与上述实施例对应的控制中心服务器侧的配置发送方法,其具体实现过程与上述实施例相对应,且具有相同的有益效果,为避免重复,在此不再予以赘述。
可选地,所述第一子配置信息包括与所述至少一个上游节点一一对应的至少一个重试阈值,且在所述目标节点具有至少两个上游节点时,所述至少两个上游节点中,不同的上游节点对应的重试阈值不同,所述重试阈值为上游节点向所述目标节点发送重试请求的次数的最大值。
该实施方式为与上述实施例对应的目标配置更新信息的生成过程,其具体实现过程与上述实施例相对应,为避免重复,在此不再予以赘述。
该实施方式中,通过使所述至少两个上游节点中,不同的上游节点对应的重试阈值不同,如此,可以实现为不同的上游节点设置不同的限流策略,这样,在对上游请求进行限流的过程中,可以优先保证重要程度高的上游节点的请求能够得到目标节点响应。
可选地,所述至少一个上游节点用于向所述目标节点发送至少两种类型的请求,所述至少两种类型的请求中,不同类型的请求对应的重试阈值不同,所述重试阈值为上游节点向所述目标节点发送重试请求的次数的最大值。
该实施方式为与上述实施例对应的目标配置更新信息的生成过程,其具体实现过程与上述实施例相对应,为避免重复,在此不再予以赘述。
该实施方式中,通过使所述至少两种类型的请求中,不同类型的请求对应的重试阈值不同,如此,可以实现为不同的请求类型设置不同的限流策略,这样,在对上游请求进行限流的过程中,可以优先保证重要程度高的请求类型的请求能够得到目标节点响应。
可选地,所述请求信息包括目标参数,所述目标参数为重试请求次数或拒绝响应次数,所述重试请求次数为所述预设时间段内,所述目标节点接收到所述至少一个上游节点发送的重试请求的次数;所述拒绝响应次数为所述预设时间段内,所述目标节点对所述至少一个上游节点发送的请求,拒绝响应的次数;
所述在所述请求信息表征所述目标节点处于预设异常状态的情况下,基于所述请求信息生成目标配置更新信息之前,所述方法还包括:
在所述目标参数位于预设范围内的情况下,确定所述目标节点处于所述预设异常状态。
该实施方式中,通过设置预设范围,如此,可以通过判断所述目标参数是否位于所述预设范围之内,即可确定所述目标节点是否处于预设异常状态。
可选地,所述预设范围包括至少两个子范围,所述至少两个子范围与至少两个候选配置更新信息一一对应,且所述至少两个候选配置更新信息中,不同的候选配置更新信息中的重试阈值不同,所述重试阈值为上游节点向所述目标节点发送重试请求的次数的最大值;
所述基于所述请求信息生成目标配置更新信息,包括:
在所述目标参数位于所述至少两个子范围中的目标子范围内的情况下,将所述目标子范围所对应的候选配置更新信息确定为所述目标配置更新信息。
该实施方式中,通过使不同的候选配置更新信息中的所述重试阈值不同,如此,可以根据重试请求次数或拒绝响应次数动态调整重试阈值的大小,从而有利于进一步提高对流量的控制效果。
请参见图4,图4为本公开实施例提供的一种流量控制装置400的结构示意图,所述流量控制装置400,应用于分布式系统中的目标节点,所述装置包括:
第一发送模块401,用于向控制中心服务器发送所述目标节点的请求信息,所述请求信息为所述目标节点基于所接收到的至少一个上游节点发送的请求生成的请求信息;
第一接收模块402,用于接收所述控制中心服务器基于所述请求信息发送的目标配置更新信息,其中,所述目标配置更新信息为:在所述控制中心服务器基于所述请求信息确定所述目标节点处于预设异常状态下发送的信息,且所述目标配置更新信息包括第一子配置信息和第二子配置信息,所述第一子配置信息用于对所述至少一个上游节点的重试请求进行限流,所述第二子配置信息用于关闭所述目标节点对至少一个下游节点的重试请求功能;
限流模块403,用于基于所述第一子配置信息对所述至少一个上游节点的重试请求进行限流,基于所述第二子配置信息关闭所述目标节点对所述至少一个下游节点的重试请求功能。
可选地,请参见图5,所述第一子配置信息包括重试阈值,所述装置还包括:
获取模块404,用于在接收到第一上游节点发送的第一重试请求的情况下,获取所述第一重试请求对应的重试次数,所述第一上游节点为所述至少一个上游节点中的任意上游节点;
响应模块405,用于在所述重试次数小于或等于所述重试阈值的情况下,对所述第一重试请求进行响应;
所述响应模块405,还用于在所述重试次数大于所述重试阈值的情况下,拒绝所述第一重试请求。
可选地,所述第一子配置信息包括与所述至少一个上游节点一一对应的至少一个重试阈值,且在所述目标节点具有至少两个上游节点时,所述至少两个上游节点中,不同的上游节点对应的重试阈值不同;
所述响应模块405,具体用于在所述重试次数小于或等于所述第一上游节点所对应的重试阈值的情况下,对所述第一重试请求进行响应;
所述响应模块405,具体还用于在所述重试次数大于所述第一上游节点所对应的重试阈值的情况下,拒绝所述第一重试请求。
可选地,所述至少一个上游节点用于向所述目标节点发送至少两种类型的请求,所述至少两种类型的请求中,不同类型的请求对应的重试阈值不同;
所述响应模块405,具体在所述重试次数小于或等于第一请求类型对应的重试阈值的情况下,对所述第一重试请求进行响应,其中,所述第一请求类型为所述第一重试请求的请求类型;
所述响应模块405,具体还用于在所述重试次数大于所述第一请求类型对应的重试阈值的情况下,拒绝所述第一重试请求。
可选地,所述请求信息为所述目标节点基于预设时间段内所接收到的至少一个上游节点发送的请求生成的请求信息;
所述请求信息包括目标参数,所述目标参数为重试请求次数或拒绝响应次数,所述重试请求次数为所述预设时间段内,所述目标节点接收到所述至少一个上游节点发送的重试请求的次数;所述拒绝响应次数为所述预设时间段内,所述目标节点对所述至少一个上游节点发送的请求,拒绝响应的次数;
在所述目标参数位于预设范围内的情况下,所述目标节点处于所述预设异常状态。
可选地,所述预设范围包括至少两个子范围,所述至少两个子范围与至少两个候选配置更新信息一一对应,且所述至少两个候选配置更新信息中,不同的候选配置更新信息中的所述重试阈值不同;
在所述目标参数位于所述至少两个子范围中的目标子范围内的情况下,所述目标配置更新信息为所述目标子范围所对应的候选配置更新信息。
可选地,所述第一发送模块401,具体用于每隔第一预设时长向所述控制中心服务器发送请求信息,以使所述控制中心服务器基于所接收到的请求信息确定所述目标节点是否处于所述预设异常状态;
其中,第i次向所述控制中心服务器发送的请求信息为:第i个预设时间段内所述至少一个上游节点对所述目标节点的请求信息,所述第i个预设时间段为第i次发送的发送时间点的前第二预设时长所形成的时间段,所述i为正整数。
需要说明地,本实施例提供的流量控制装置400能够实现上述流量控制方法实施例的全部技术方案,因此至少能够实现上述全部技术效果,此处不再赘述。
请参见图6,图6为本公开实施例提供的一种配置信息的发送装置600的结构示意图,所述配置信息的发送装置600应用于控制中心服务器,所述装置包括:
第二接收模块601,用于接收分布式系统中的目标节点发送的请求信息,所述请求信息为所述目标节点基于所接收到的至少一个上游节点发送的请求生成的请求信息;
生成模块602,用于在所述请求信息表征所述目标节点处于预设异常状态的情况下,基于所述请求信息生成目标配置更新信息,其中,所述目标配置更新信息包括第一子配置信息和第二子配置信息,所述第一子配置信息用于对所述至少一个上游节点的重试请求进行限流,所述第二子配置信息用于关闭所述目标节点对至少一个下游节点的重试请求功能;
第二发送模块603,用于向所述目标节点发送所述目标配置更新信息。
可选地,所述第一子配置信息包括与所述至少一个上游节点一一对应的至少一个重试阈值,且在所述目标节点具有至少两个上游节点时,所述至少两个上游节点中,不同的上游节点对应的重试阈值不同,所述重试阈值为上游节点向所述目标节点发送重试请求的次数的最大值。
可选地,所述至少一个上游节点用于向所述目标节点发送至少两种类型的请求,所述至少两种类型的请求中,不同类型的请求对应的重试阈值不同,所述重试阈值为上游节点向所述目标节点发送重试请求的次数的最大值。
可选地,所述请求信息包括目标参数,所述目标参数为重试请求次数或拒绝响应次数,所述重试请求次数为所述预设时间段内,所述目标节点接收到所述至少一个上游节点发送的重试请求的次数;所述拒绝响应次数为所述预设时间段内,所述目标节点对所述至少一个上游节点发送的请求,拒绝响应的次数;
请参见图7,所述装置还包括:
确定模块604,用于在所述目标参数位于预设范围内的情况下,确定所述目标节点处于所述预设异常状态。
可选地,所述预设范围包括至少两个子范围,所述至少两个子范围与至少两个候选配置更新信息一一对应,且所述至少两个候选配置更新信息中,不同的候选配置更新信息中的重试阈值不同,所述重试阈值为上游节点向所述目标节点发送重试请求的次数的最大值;
所述更新模块,具体用于在所述目标参数位于所述至少两个子范围中的目标子范围内的情况下,将所述目标子范围所对应的候选配置更新信息确定为所述目标配置更新信息。
需要说明地,本实施例提供的配置信息的发送装置600能够实现上述配置信息的发送方法实施例的全部技术方案,因此至少能够实现上述全部技术效果,此处不再赘述。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
电子设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如流量控制方法或配置信息的发送方法。例如,在一些实施例中,流量控制方法或配置信息的发送方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,执行上文描述的流量控制方法或配置信息的发送方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行流量控制方法或配置信息的发送方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (27)
1.一种流量控制方法,应用于分布式系统中的目标节点,所述方法包括:
向控制中心服务器发送所述目标节点的请求信息,所述请求信息为所述目标节点基于所接收到的至少一个上游节点发送的请求生成的请求信息;
接收所述控制中心服务器基于所述请求信息发送的目标配置更新信息,其中,所述目标配置更新信息为:在所述控制中心服务器基于所述请求信息确定所述目标节点处于预设异常状态下发送的信息,且所述目标配置更新信息包括第一子配置信息和第二子配置信息,所述第一子配置信息用于对所述至少一个上游节点的重试请求进行限流,所述第二子配置信息用于关闭所述目标节点对至少一个下游节点的重试请求功能;
基于所述第一子配置信息对所述至少一个上游节点的重试请求进行限流,基于所述第二子配置信息关闭所述目标节点对所述至少一个下游节点的重试请求功能。
2.根据权利要求1所述的方法,其中,所述第一子配置信息包括重试阈值,所述基于所述目标配置更新信息对所述目标节点的配置进行更新之后,所述方法还包括:
在接收到第一上游节点发送的第一重试请求的情况下,获取所述第一重试请求对应的重试次数,所述第一上游节点为所述至少一个上游节点中的任意上游节点;
在所述重试次数小于或等于所述重试阈值的情况下,对所述第一重试请求进行响应;
在所述重试次数大于所述重试阈值的情况下,拒绝所述第一重试请求。
3.根据权利要求2所述的方法,其中,所述第一子配置信息包括与所述至少一个上游节点一一对应的至少一个重试阈值,且在所述目标节点具有至少两个上游节点时,所述至少两个上游节点中,不同的上游节点对应的重试阈值不同;
所述在所述重试次数小于或等于所述重试阈值的情况下,对所述第一重试请求进行响应,包括:
在所述重试次数小于或等于所述第一上游节点所对应的重试阈值的情况下,对所述第一重试请求进行响应;
所述在所述重试次数大于所述重试阈值的情况下,拒绝所述第一重试请求,包括:
在所述重试次数大于所述第一上游节点所对应的重试阈值的情况下,拒绝所述第一重试请求。
4.根据权利要求2所述的方法,其中,所述至少一个上游节点用于向所述目标节点发送至少两种类型的请求,所述至少两种类型的请求中,不同类型的请求对应的重试阈值不同;
所述在所述重试次数小于或等于所述重试阈值的情况下,对所述第一重试请求进行响应,包括:
在所述重试次数小于或等于第一请求类型对应的重试阈值的情况下,对所述第一重试请求进行响应,其中,所述第一请求类型为所述第一重试请求的请求类型;
所述在所述重试次数大于所述重试阈值的情况下,拒绝所述第一重试请求,包括:
在所述重试次数大于所述第一请求类型对应的重试阈值的情况下,拒绝所述第一重试请求。
5.根据权利要求2所述的方法,其中,所述请求信息为所述目标节点基于预设时间段内所接收到的至少一个上游节点发送的请求生成的请求信息;
所述请求信息包括目标参数,所述目标参数为重试请求次数或拒绝响应次数,所述重试请求次数为所述预设时间段内,所述目标节点接收到所述至少一个上游节点发送的重试请求的次数;所述拒绝响应次数为所述预设时间段内,所述目标节点对所述至少一个上游节点发送的请求,拒绝响应的次数;
在所述目标参数位于预设范围内的情况下,所述目标节点处于所述预设异常状态。
6.根据权利要求5所述的方法,其中,所述预设范围包括至少两个子范围,所述至少两个子范围与至少两个候选配置更新信息一一对应,且所述至少两个候选配置更新信息中,不同的候选配置更新信息中的所述重试阈值不同;
在所述目标参数位于所述至少两个子范围中的目标子范围内的情况下,所述目标配置更新信息为所述目标子范围所对应的候选配置更新信息。
7.根据权利要求1所述的方法,其中,所述方法还包括:
每隔第一预设时长向所述控制中心服务器发送请求信息,以使所述控制中心服务器基于所接收到的请求信息确定所述目标节点是否处于所述预设异常状态;
其中,第i次向所述控制中心服务器发送的请求信息为:第i个预设时间段内所述至少一个上游节点对所述目标节点的请求信息,所述第i个预设时间段为第i次发送的发送时间点的前第二预设时长所形成的时间段,所述i为正整数。
8.一种配置信息的发送方法,其中,应用于控制中心服务器,所述方法包括:
接收分布式系统中的目标节点发送的请求信息,所述请求信息为所述目标节点基于所接收到的至少一个上游节点发送的请求生成的请求信息;
在所述请求信息表征所述目标节点处于预设异常状态的情况下,基于所述请求信息生成目标配置更新信息,其中,所述目标配置更新信息包括第一子配置信息和第二子配置信息,所述第一子配置信息用于对所述至少一个上游节点的重试请求进行限流,所述第二子配置信息用于关闭所述目标节点对至少一个下游节点的重试请求功能;
向所述目标节点发送所述目标配置更新信息。
9.根据权利要求8所述的方法,其中,所述第一子配置信息包括与所述至少一个上游节点一一对应的至少一个重试阈值,且在所述目标节点具有至少两个上游节点时,所述至少两个上游节点中,不同的上游节点对应的重试阈值不同,所述重试阈值为上游节点向所述目标节点发送重试请求的次数的最大值。
10.根据权利要求8所述的方法,其中,所述至少一个上游节点用于向所述目标节点发送至少两种类型的请求,所述至少两种类型的请求中,不同类型的请求对应的重试阈值不同,所述重试阈值为上游节点向所述目标节点发送重试请求的次数的最大值。
11.根据权利要求8所述的方法,其中,所述请求信息包括目标参数,所述目标参数为重试请求次数或拒绝响应次数,所述重试请求次数为所述预设时间段内,所述目标节点接收到所述至少一个上游节点发送的重试请求的次数;所述拒绝响应次数为所述预设时间段内,所述目标节点对所述至少一个上游节点发送的请求,拒绝响应的次数;
所述在所述请求信息表征所述目标节点处于预设异常状态的情况下,基于所述请求信息生成目标配置更新信息之前,所述方法还包括:
在所述目标参数位于预设范围内的情况下,确定所述目标节点处于所述预设异常状态。
12.根据权利要求11所述的方法,其中,所述预设范围包括至少两个子范围,所述至少两个子范围与至少两个候选配置更新信息一一对应,且所述至少两个候选配置更新信息中,不同的候选配置更新信息中的重试阈值不同,所述重试阈值为上游节点向所述目标节点发送重试请求的次数的最大值;
所述基于所述请求信息生成目标配置更新信息,包括:
在所述目标参数位于所述至少两个子范围中的目标子范围内的情况下,将所述目标子范围所对应的候选配置更新信息确定为所述目标配置更新信息。
13.一种流量控制装置,应用于分布式系统中的目标节点,所述装置包括:
第一发送模块,用于向控制中心服务器发送所述目标节点的请求信息,所述请求信息为所述目标节点基于所接收到的至少一个上游节点发送的请求生成的请求信息;
第一接收模块,用于接收所述控制中心服务器基于所述请求信息发送的目标配置更新信息,其中,所述目标配置更新信息为:在所述控制中心服务器基于所述请求信息确定所述目标节点处于预设异常状态下发送的信息,且所述目标配置更新信息包括第一子配置信息和第二子配置信息,所述第一子配置信息用于对所述至少一个上游节点的重试请求进行限流,所述第二子配置信息用于关闭所述目标节点对至少一个下游节点的重试请求功能;
限流模块,用于基于所述第一子配置信息对所述至少一个上游节点的重试请求进行限流,基于所述第二子配置信息关闭所述目标节点对所述至少一个下游节点的重试请求功能。
14.根据权利要求13所述的装置,其中,所述第一子配置信息包括重试阈值,所述装置还包括:
获取模块,用于在接收到第一上游节点发送的第一重试请求的情况下,获取所述第一重试请求对应的重试次数,所述第一上游节点为所述至少一个上游节点中的任意上游节点;
响应模块,用于在所述重试次数小于或等于所述重试阈值的情况下,对所述第一重试请求进行响应;
所述响应模块,还用于在所述重试次数大于所述重试阈值的情况下,拒绝所述第一重试请求。
15.根据权利要求14所述的装置,其中,所述第一子配置信息包括与所述至少一个上游节点一一对应的至少一个重试阈值,且在所述目标节点具有至少两个上游节点时,所述至少两个上游节点中,不同的上游节点对应的重试阈值不同;
所述响应模块,具体用于在所述重试次数小于或等于所述第一上游节点所对应的重试阈值的情况下,对所述第一重试请求进行响应;
所述响应模块,具体还用于在所述重试次数大于所述第一上游节点所对应的重试阈值的情况下,拒绝所述第一重试请求。
16.根据权利要求14所述的装置,其中,所述至少一个上游节点用于向所述目标节点发送至少两种类型的请求,所述至少两种类型的请求中,不同类型的请求对应的重试阈值不同;
所述响应模块,具体在所述重试次数小于或等于第一请求类型对应的重试阈值的情况下,对所述第一重试请求进行响应,其中,所述第一请求类型为所述第一重试请求的请求类型;
所述响应模块,具体还用于在所述重试次数大于所述第一请求类型对应的重试阈值的情况下,拒绝所述第一重试请求。
17.根据权利要求14所述的装置,其中,所述请求信息为所述目标节点基于预设时间段内所接收到的至少一个上游节点发送的请求生成的请求信息;
所述请求信息包括目标参数,所述目标参数为重试请求次数或拒绝响应次数,所述重试请求次数为所述预设时间段内,所述目标节点接收到所述至少一个上游节点发送的重试请求的次数;所述拒绝响应次数为所述预设时间段内,所述目标节点对所述至少一个上游节点发送的请求,拒绝响应的次数;
在所述目标参数位于预设范围内的情况下,所述目标节点处于所述预设异常状态。
18.根据权利要求17所述的装置,其中,所述预设范围包括至少两个子范围,所述至少两个子范围与至少两个候选配置更新信息一一对应,且所述至少两个候选配置更新信息中,不同的候选配置更新信息中的所述重试阈值不同;
在所述目标参数位于所述至少两个子范围中的目标子范围内的情况下,所述目标配置更新信息为所述目标子范围所对应的候选配置更新信息。
19.根据权利要求13所述的装置,其中,所述第一发送模块,具体用于每隔第一预设时长向所述控制中心服务器发送请求信息,以使所述控制中心服务器基于所接收到的请求信息确定所述目标节点是否处于所述预设异常状态;
其中,第i次向所述控制中心服务器发送的请求信息为:第i个预设时间段内所述至少一个上游节点对所述目标节点的请求信息,所述第i个预设时间段为第i次发送的发送时间点的前第二预设时长所形成的时间段,所述i为正整数。
20.一种配置信息的发送装置,其中,应用于控制中心服务器,所述装置包括:
第二接收模块,用于接收分布式系统中的目标节点发送的请求信息,所述请求信息为所述目标节点基于所接收到的至少一个上游节点发送的请求生成的请求信息;
生成模块,用于在所述请求信息表征所述目标节点处于预设异常状态的情况下,基于所述请求信息生成目标配置更新信息,其中,所述目标配置更新信息包括第一子配置信息和第二子配置信息,所述第一子配置信息用于对所述至少一个上游节点的重试请求进行限流,所述第二子配置信息用于关闭所述目标节点对至少一个下游节点的重试请求功能;
第二发送模块,用于向所述目标节点发送所述目标配置更新信息。
21.根据权利要求20所述的装置,其中,所述第一子配置信息包括与所述至少一个上游节点一一对应的至少一个重试阈值,且在所述目标节点具有至少两个上游节点时,所述至少两个上游节点中,不同的上游节点对应的重试阈值不同,所述重试阈值为上游节点向所述目标节点发送重试请求的次数的最大值。
22.根据权利要求20所述的装置,其中,所述至少一个上游节点用于向所述目标节点发送至少两种类型的请求,所述至少两种类型的请求中,不同类型的请求对应的重试阈值不同,所述重试阈值为上游节点向所述目标节点发送重试请求的次数的最大值。
23.根据权利要求20所述的装置,其中,所述请求信息包括目标参数,所述目标参数为重试请求次数或拒绝响应次数,所述重试请求次数为所述预设时间段内,所述目标节点接收到所述至少一个上游节点发送的重试请求的次数;所述拒绝响应次数为所述预设时间段内,所述目标节点对所述至少一个上游节点发送的请求,拒绝响应的次数;
所述装置还包括:
确定模块,用于在所述目标参数位于预设范围内的情况下,确定所述目标节点处于所述预设异常状态。
24.根据权利要求23所述的装置,其中,所述预设范围包括至少两个子范围,所述至少两个子范围与至少两个候选配置更新信息一一对应,且所述至少两个候选配置更新信息中,不同的候选配置更新信息中的重试阈值不同,所述重试阈值为上游节点向所述目标节点发送重试请求的次数的最大值;
所述更新模块,具体用于在所述目标参数位于所述至少两个子范围中的目标子范围内的情况下,将所述目标子范围所对应的候选配置更新信息确定为所述目标配置更新信息。
25.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的流量控制方法的步骤,或者,执行权利要求8-12中任一项所述的配置信息的发送方法的步骤。
26.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的流量控制方法的步骤,或者,执行权利要求8-12中任一项所述的配置信息的发送方法的步骤。
27.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现权利要求1-7中任一项所述的流量控制方法的步骤,或者,实现权利要求8-12中任一项所述的配置信息的发送方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311607193.2A CN117640729A (zh) | 2023-11-28 | 2023-11-28 | 流量控制方法、配置信息的发送方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311607193.2A CN117640729A (zh) | 2023-11-28 | 2023-11-28 | 流量控制方法、配置信息的发送方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117640729A true CN117640729A (zh) | 2024-03-01 |
Family
ID=90035176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311607193.2A Pending CN117640729A (zh) | 2023-11-28 | 2023-11-28 | 流量控制方法、配置信息的发送方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117640729A (zh) |
-
2023
- 2023-11-28 CN CN202311607193.2A patent/CN117640729A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10389801B2 (en) | Service request processing method, related apparatus, and system | |
CN112965823B (zh) | 调用请求的控制方法、装置、电子设备和存储介质 | |
EP4175243A1 (en) | Content delivery network processing method and apparatus, and electronic device | |
US9600251B1 (en) | Enhancing API service schemes | |
CN113434218B (zh) | 微服务配置方法、装置、电子设备和介质 | |
CN117880053A (zh) | 提供报警的方法、装置、设备、存储介质及程序产品 | |
CN113132479A (zh) | 流量切换、模型生成方法、装置、设备、存储介质及程序 | |
CN116567077A (zh) | 裸金属指令发送方法、装置、设备及存储介质 | |
CN115190180B (zh) | 在网络资源请求骤增时的网络资源请求调度方法和装置 | |
CN117640729A (zh) | 流量控制方法、配置信息的发送方法、装置和电子设备 | |
CN113486229B (zh) | 抓取压力的控制方法、装置、电子设备及可读存储介质 | |
CN116528177A (zh) | 一种短信发送方法、装置、电子设备及存储介质 | |
CN111371675B (zh) | 智能寻址方法、装置、设备及其存储介质 | |
CN115567602A (zh) | Cdn节点回源方法、设备及计算机可读存储介质 | |
CN112866128A (zh) | 分布式网络的限速方法、装置及电子设备 | |
CN114221906B (zh) | 流量管控方法、装置、电子设备及存储介质 | |
CN114095339B (zh) | 一种报警处理方法、装置、设备以及存储介质 | |
CN116841797A (zh) | 服务重试的管理方法、装置、电子设备及可读存储介质 | |
EP4155969A1 (en) | Query processing method and apparatus, electronic device and storage medium | |
CN113783769B (zh) | 自动驾驶中传输消息的方法、装置及中继设备 | |
CN117240855A (zh) | 分布式系统及流量控制方法、装置、设备和介质 | |
CN118118389A (zh) | 链路的探测方法及装置、系统、电子设备和存储介质 | |
CN118233392A (zh) | 一种限流方法、装置、电子设备和存储介质 | |
CN114003459A (zh) | 故障检测方法、装置、电子设备及可读存储介质 | |
CN117971599A (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 |