CN114915663A - 请求响应方法、装置、系统、电子设备和介质 - Google Patents
请求响应方法、装置、系统、电子设备和介质 Download PDFInfo
- Publication number
- CN114915663A CN114915663A CN202210279669.3A CN202210279669A CN114915663A CN 114915663 A CN114915663 A CN 114915663A CN 202210279669 A CN202210279669 A CN 202210279669A CN 114915663 A CN114915663 A CN 114915663A
- Authority
- CN
- China
- Prior art keywords
- response
- queue
- request
- client request
- priority
- 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
- 230000004044 response Effects 0.000 title claims abstract description 203
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000000875 corresponding effect Effects 0.000 claims description 84
- 230000002596 correlated effect Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 abstract description 22
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开的实施例公开了请求响应方法、装置、系统、电子设备和介质。该方法的一具体实施方式包括:响应于接收到客户端请求,确定当前资源利用率是否满足第一预设条件,其中,该客户端请求中包括所请求的微服务的标识;响应于确定满足该第一预设条件,将所接收到的客户端请求插入预设的优先队列中的相应位置,其中,该优先队列采用堆数据结构,该优先队列中的元素包括微服务请求队列,该微服务请求队列中的元素包括该微服务待处理的请求;基于该优先队列,对接收到的客户端请求进行消费,以生成响应信息。该实施方式有效地提升了处理请求的效率和灵活性。
Description
技术领域
本公开的实施例涉及计算机技术领域,具体涉及请求响应方法、装置、系统、电子设备和介质。
背景技术
随着微服务技术的发展,作为内部微服务对外总入口的API(ApplicationProgramming Interface,应用程序编程接口)网关,由于承担了诸如服务发现、动态路由、安全、流量控制等通用控制逻辑,成为至关重要的一环。
针对流量控制功能,现有的API网关主要采用并发控制技术,即通过设置相应的阈值实现对网关当前接收请求的数量进行控制。例如,设置全局并发度为10,API a的并发度为3,API b的并发度为6,API c的并发度为7。意味着同一时刻应用最多可接收10个请求,其中API a、b、c分别最多可接收3、6、7,以保证服务稳定。但这种控制方式不够灵活,导致流量控制方式易造成资源浪费,效率较低。
发明内容
本公开的实施例提出了请求响应方法、装置、系统、电子设备和介质。
第一方面,本公开的实施例提供了一种请求响应方法,该方法包括:响应于接收到客户端请求,确定当前资源利用率是否满足第一预设条件,其中,客户端请求中包括所请求的微服务的标识;响应于确定满足第一预设条件,将所接收到的客户端请求插入预设的优先队列中的相应位置,其中,优先队列采用堆数据结构,优先队列中的元素包括微服务请求队列,微服务请求队列中的元素包括该微服务待处理的请求;基于优先队列,对接收到的客户端请求进行消费,以生成响应信息。
在一些实施例中,上述微服务请求队列中的元素还包括与该微服务待处理的请求对应的优先级信息;以及上述响应于确定满足第一预设条件,将所接收到的客户端请求插入预设的优先队列中的相应位置,包括:响应于确定满足第一预设条件,基于微服务的标识确定所接收到的客户端请求对应的优先级信息;基于优先级信息,将所接收到的客户端请求插入预设的优先队列中的相应位置。
在一些实施例中,上述响应于确定满足第一预设条件,基于微服务的标识确定所接收到的客户端请求对应的优先级信息,包括:响应于确定满足第一预设条件,获取与微服务的标识对应的预设级别和时间段内平均耗时;根据所接收到的客户端请求的到达时间以及所获取的预设级别和时间段内平均耗时,确定所接收到的客户端请求对应的优先级信息。
在一些实施例中,上述优先级信息与到达时间负相关,上述优先级信息与预设级别正相关,上述优先级信息与时间段内平均耗时负相关。
在一些实施例中,上述基于优先级信息,将所接收到的客户端请求插入预设的优先队列中的相应位置,包括:响应于确定优先队列中不存在与微服务的标识相匹配的微服务请求队列,将所接收到的客户端请求插入至优先队列中与所确定的优先级信息相匹配的位置,其中,微服务请求队列在优先队列中的位置与微服务请求队列中的首元素的优先级信息相关;将所接收到的客户端请求确定为所插入的新的微服务请求队列中的首元素。
在一些实施例中,该方法还包括:响应于确定不满足第一预设条件且满足第二预设条件,将所接收到的客户端请求添加至预设的普通队列。
在一些实施例中,上述基于优先队列,对客户端请求进行消费,包括:根据优先队列和普通队列,对接收到的客户端请求进行消费。
在一些实施例中,上述根据优先队列和普通队列,对接收到的客户端请求进行消费,包括:确定优先队列和普通队列的消费顺序;响应于确定从优先队列中消费客户端请求,从优先队列中获取位于队首的微服务请求队列中的首元素进行消费;更新所消费的首元素的后一元素对应的优先级信息;根据所更新的优先级信息,将所接收到的客户端请求插入优先队列中的相应位置。
在一些实施例中,该方法还包括:响应于确定满足第一预设条件,生成指示降低响应权重的权重标识,其中,响应权重用于指示负载均衡端所分发的流量的比例;响应于确定满足第一预设条件且满足第三预设条件,生成指示将响应权重降到最低的权重标识;向负载均衡端发送响应信息,其中,响应信息中包括权重标识。
第二方面,本公开的实施例提供了一种请求响应装置,该装置包括:确定单元,被配置成响应于接收到客户端请求,确定当前资源利用率是否满足第一预设条件,其中,客户端请求中包括所请求的微服务的标识;入队单元,被配置成响应于确定满足第一预设条件,将所接收到的客户端请求插入预设的优先队列中的相应位置,其中,优先队列采用堆数据结构,优先队列中的元素包括微服务请求队列,微服务请求队列中的元素包括该微服务待处理的请求;消费单元,被配置成基于优先队列,对接收到的客户端请求进行消费,以生成响应信息。
在一些实施例中,上述微服务请求队列中的元素还包括与该微服务待处理的请求对应的优先级信息。上述入队单元包括:确定模块,被配置成响应于确定满足第一预设条件,基于微服务的标识确定所接收到的客户端请求对应的优先级信息;入队模块,被配置成基于优先级信息,将所接收到的客户端请求插入预设的优先队列中的相应位置。
在一些实施例中,上述确定模块进一步被配置成:响应于确定满足第一预设条件,获取与微服务的标识对应的预设级别和时间段内平均耗时;根据所接收到的客户端请求的到达时间以及所获取的预设级别和时间段内平均耗时,确定所接收到的客户端请求对应的优先级信息。
在一些实施例中,上述优先级信息与到达时间负相关,上述优先级信息与预设级别正相关,上述优先级信息与时间段内平均耗时负相关。
在一些实施例中,上述入队模块进一步被配置成:响应于确定优先队列中不存在与微服务的标识相匹配的微服务请求队列,将所接收到的客户端请求插入至优先队列中与所确定的优先级信息相匹配的位置,其中,微服务请求队列在优先队列中的位置与微服务请求队列中的首元素的优先级信息相关;将所接收到的客户端请求确定为所插入的新的微服务请求队列中的首元素。
在一些实施例中,该请求响应装置还包括:添加单元,被配置成响应于确定不满足第一预设条件且满足第二预设条件,将所接收到的客户端请求添加至预设的普通队列。
在一些实施例中,上述消费单元被进一步配置成:根据优先队列和普通队列,对接收到的客户端请求进行消费。
在一些实施例中,上述消费单元被进一步配置成:确定优先队列和普通队列的消费顺序;响应于确定从优先队列中消费客户端请求,从优先队列中获取位于队首的微服务请求队列中的首元素进行消费;更新所消费的首元素的后一元素对应的优先级信息;根据所更新的优先级信息,将所接收到的客户端请求插入优先队列中的相应位置。
在一些实施例中,该请求响应装置还包括:第一生成单元,被配置成响应于确定满足第一预设条件,生成指示降低响应权重的权重标识,其中,响应权重用于指示负载均衡端所分发的流量的比例;第二生成单元,被配置成响应于确定满足第一预设条件且满足第三预设条件,生成指示将响应权重降到最低的权重标识;发送单元,被配置成向负载均衡端发送响应信息,其中,响应信息中包括权重标识。
第三方面,本申请实施例提供了一种请求响应系统,该系统包括:负载均衡端,被配置成向目标应用服务器发送目标客户端请求,其中,目标客户端请求中包括所请求的微服务的标识;根据响应信息中包括的权重标识,调整向目标应用服务器分发的请求数量;目标应用服务器,被配置成响应于接收到目标客户端请求,确定当前资源利用率是否满足目标条件;响应于确定满足目标条件,生成指示降低响应权重的权重标识,其中,响应权重用于指示负载均衡端所分发的流量的比例;向负载均衡端发送响应信息,其中,响应信息中包括权重标识。
在一些实施例中,上述目标应用服务器进一步被配置成执行如第一方面中任一实现方式描述的方法。
第四方面,本申请实施例提供了一种电子设备,该电子设备包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第五方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
本公开的实施例提供的请求响应方法、装置、系统、电子设备和介质,通过当前资源利用率确定是否满足第一预设条件,在满足第一预设条件时将所接收到的客户端请求插入预设的优先队列中的相应位置。通过创造性地引入微服务请求队列作为上述优先队列中的元素,微服务请求队列中的元素包括该微服务待处理的请求;以及基于优先队列,对接收到的客户端请求进行消费,以生成响应信息。实现了根据当前资源利用率和优先队列所指示的优先级来处理请求,有效地提升了处理请求的效率和灵活性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
图1是本公开的一个实施例可以应用于其中的示例性系统架构图;
图2a是根据本公开的请求响应方法的一个实施例的流程图;
图2b是根据本公开的请求响应方法的一个实施例中优先队列的示例性结构图;
图3是根据本公开的实施例的请求响应方法的一个应用场景的示意图;
图4是根据本公开的请求响应方法的又一个实施例的流程图;
图5是根据本公开的请求响应装置的一个实施例的结构示意图;
图6是根据本申请的请求响应系统的一个实施例中各个设备之间交互的时序图。
图7是适于用来实现本申请的实施例的电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
图1示出了可以应用本公开的请求响应方法或请求响应装置的示例性架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104、106和服务器105、107。网络104、106分别用以在终端设备101、102、103和服务器105之间,服务器105和服务器107之间提供通信链路的介质。网络104、106可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏并且支持人机交互的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105、107可以是提供各种服务的服务器,例如服务器105可以是负载均衡服务器,服务器107可以是为终端设备101、102、103上各类应用提供支持(例如微服务)的后台服务器。后台服务器107可以对接收到的、服务器105转发的客户端请求进行分析处理,并生成相应的处理结果(例如响应信息),还可以将生成的响应信息通过服务器105反馈给终端设备。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,本公开的实施例所提供的请求响应方法一般由服务器107执行,相应地,请求响应装置一般设置于服务器107中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2a,示出了根据本公开的请求响应方法的一个实施例的流程200。该请求响应方法包括以下步骤:
步骤201,响应于接收到客户端请求,确定当前资源利用率是否满足第一预设条件。
在本实施例中,响应于接收到客户端请求,请求响应方法的执行主体(如图1所示的服务器107)可以通过各种方式确定当前资源利用率是否满足第一预设条件。其中,上述客户端请求中可以包括所请求的微服务的标识。上述微服务的标识可以用于区分不同的微服务,其可以有多种形式,例如由数字、字母、特殊符号中的至少一种所组成的字符串。上述资源利用率可以用于表征上述执行主体的各种资源(例如CPU、内存、负载)的使用情况。作为示例,上述执行主体可以通过资源监视器(Resource Monitor)获取上述资源利用率。
在本实施例中,上述第一预设条件可以根据实际应用场景而灵活设定。作为示例,上述第一预设条件可以是上述资源利用率大于第一预设阈值。作为又一示例,上述第一预设条件可以是上述资源利用率处于预设的中等负载水平。
可选地,上述第一预设条件还可以是上述资源利用率大于第一预设阈值且与上述优先队列对应的普通队列为空。其中,上述普通队列的具体描述可以参考后续可选的实现方式中的相应内容。
需要说明的是,上述执行主体可以直接接收客户端发送的客户端请求。上述执行主体也可以接收由负载均衡设备转发的客户端请求,此处不作限定。
步骤202,响应于确定满足第一预设条件,将所接收到的客户端请求插入预设的优先队列中的相应位置。
在本实施例中,响应于上述步骤201确定满足第一预设条件,上述执行主体可以通过各种方式将所接收到的客户端请求插入预设的优先队列中的相应位置。其中,上述优先队列可以采用堆数据结构。上述优先队列中的元素可以包括微服务请求队列。上述微服务请求队列中的元素可以包括该微服务待处理的请求。
参见图2b,其示出了优先队列的示例性结构。在图2b中,上述210用于表示优先队列。上述211、212、213、214分别用于表示微服务1、2、4、5对应的微服务请求队列。在211中,上述2111、2112分别用于表示待微服务1处理的请求1和请求2。
在本实施例中,作为示例,上述执行主体可以首先确定上述预设的优先队列中是否存在与上述客户端请求中包括的微服务的标识相匹配的微服务请求队列。响应于确定存在,上述执行主体可以将步骤201中所接收到的客户端请求插入至上述相匹配的微服务请求队列中。可选地,上述执行主体还可以根据上述微服务请求队列中各元素对应的优先级信息,进一步确定上述所接收到的客户端请求插入至上述相匹配的微服务请求队列中的位置。
在本实施例的一些可选的实现方式中,上述微服务请求队列中的元素还可以包括与该微服务待处理的请求对应的优先级信息。响应于确定满足第一预设条件,上述执行主体可以按照如下步骤将所接收到的客户端请求插入预设的优先队列中的相应位置:
S1,响应于确定满足第一预设条件,基于微服务的标识确定所接收到的客户端请求对应的优先级信息。
在这些实现方式中,响应于确定满足第一预设条件,基于微服务的标识,上述执行主体可以通过各种方式确定所接收到的客户端请求对应的优先级信息。作为示例,上述执行主体可以首先确定预设的优先处理列表中是否存在上述微服务的标识。响应于确定存在,上述执行主体可以确定所接收到的客户端请求对应的优先级信息为表征优先处理的优先级信息。响应于确定存在,上述执行主体可以确定所接收到的客户端请求对应的优先级信息为表征普通的优先级信息。
S2,基于优先级信息,将所接收到的客户端请求插入预设的优先队列中的相应位置。
在这些实现方式中,基于上述步骤S1所确定的优先级信息,上述执行主体可以通过各种方式将所接收到的客户端请求插入预设的优先队列中的相应位置,以符合上述优先队列所指示的优先级分布规则。
基于上述可选的实现方式,本方案可以首先确定所接收到的客户端请求对应的优先级信息,并根据所确定的优先级信息将接收到的客户端请求插入预设的优先队列中的相应位置,从而丰富了优先队列中的微服务待处理的请求的排列方式,为提升请求处理效率提供基础。
可选地,基于上述可选的实现方式,基于微服务的标识,响应于确定满足第一预设条件,上述执行主体可以按照如下步骤确定所接收到的客户端请求对应的优先级信息:
S11,响应于确定满足第一预设条件,获取与微服务的标识对应的预设级别和时间段内平均耗时。
在这些实现方式中,响应于确定满足第一预设条件,上述执行主体可以通过各种方式获取与微服务的标识对应的预设级别和时间段内平均耗时。作为示例,上述执行主体可以根据预设的对应关系表来获取与微服务的标识对应的预设级别。其中,上述对应关系表中可以记录有各种微服务的标识和预设级别之间的对应关系。上述时间段内平均耗时可以用于表征微服务处理一个请求的平均时长。
S12,根据所接收到的客户端请求的到达时间以及所获取的预设级别和时间段内平均耗时,确定所接收到的客户端请求对应的优先级信息。
在这些实现方式中,根据所接收到的客户端请求的到达时间以及上述步骤S11所获取的预设级别和时间段内平均耗时,上述执行主体可以通过各种方式确定所接收到的客户端请求对应的优先级信息。其中,上述所接收到的客户端请求的到达时间例如可以是时间戳(timestamp)。上述执行主体可以利用预设的规则,根据所接收到的客户端请求的到达时间、预设级别和时间段内平均耗时综合确定所接收到的客户端请求对应的优先级信息。
基于上述可选的实现方式,本方案可以根据所接收到的客户端请求的到达时间、预设级别和时间段内平均耗时综合确定所接收到的客户端请求对应的优先级信息,从而丰富了优先级信息的确定方式,使得优先级信息的确定更为合理,并且可以通过其中要素的改变来灵活控制优先级信息的确定结果,提升了适用性。
可选地,基于上述可选的实现方式,上述优先级信息可以与到达时间负相关。上述优先级信息可以与上述预设级别正相关。上述优先级信息可以与时间段内平均耗时负相关。
基于上述可选的实现方式,本方案可以丰富优先级信息的确定方式,进一步使得优先级信息的确定更为合理。
可选地,基于上述可选的实现方式,基于优先级信息,上述执行主体可以按照如下步骤将所接收到的客户端请求插入预设的优先队列中的相应位置:
S21,响应于确定优先队列中不存在与微服务的标识相匹配的微服务请求队列,将所接收到的客户端请求插入至优先队列中与所确定的优先级信息相匹配的位置。
在这些实现方式中,响应于确定上述优先队列中不存在与微服务的标识相匹配的微服务请求队列,上述执行主体可以通过各种方式将所接收到的客户端请求插入至优先队列中与所确定的优先级信息相匹配的位置。其中,上述微服务请求队列在上述优先队列中的位置与上述微服务请求队列中的首元素的优先级信息相关。即,上述微服务请求队列中的首元素的优先级信息决定了该微服务请求队列在上述优先队列中的位置。
S22、将所接收到的客户端请求确定为所插入的新的微服务请求队列中的首元素。
在这些实现方式中,由于上述新的微服务请求队列是根据所接收到的客户端请求而新建的,因而上述所接收到的客户端请求即为上述新的微服务请求队列中的首元素。
基于上述可选的实现方式,本方案提供了一种在优先队列中不存在相应微服务请求队列的情况下的优先队列更新方式,从而提高了优先队列更新方式的适用性。
步骤203,基于优先队列,对接收到的客户端请求进行消费,以生成响应信息。
在本实施例中,上述执行主体可以根据上述优先队列所指示的优先级顺序,通过各种方式对优先队列中所接收到的客户端请求进行消费,以生成响应信息。作为示例,上述执行主体(例如worker线程)可以首先提取位于队首(即优先级最高)的微服务请求队列。而后,上述执行主体可以通过各种方式从上述所提取的微服务请求队列中选取客户端请求进行消费,以生成响应信息。其中,上述执行主体可以按照上述所提取的微服务请求队列中的客户端请求的排列顺序进行选取,也可以随机选取,还可以根据客户端请求对应的优先级信息进行选取,此处不作限定。
在本实施例的一些可选的实现方式中,上述执行主体还可以继续执行以下步骤:
响应于确定不满足第一预设条件且满足第二预设条件,将所接收到的客户端请求添加至预设的普通队列。
在这些实现方式中,上述第二预设条件可以根据实际应用场景而灵活设定,但通常与上述第一预设条件相关联。作为示例,上述第二预设条件可以是上述资源利用率小于第二预设阈值。其中,上述第二预设阈值小于上述第一预设阈值。作为又一示例,上述第二预设条件可以是上述资源利用率处于预设的轻量负载水平。
在这些实现方式中,上述普通队列通常指遵循“先入先出”(First In First Out)规则的数据结构。
基于上述可选的实现方式,本方案可以在轻载时使用普通队列代替优先队列进行待处理请求的存放,从而可以在轻载时使用复杂度更低的策略,避免资源浪费。
可选地,基于上述可选的实现方式,上述执行主体还可以根据上述优先队列和普通队列,对接收到的客户端请求进行消费。
在这些实现方式中,根据上述优先队列和普通队列,上述执行主体可以通过各种方式对接收到的客户端请求进行消费。作为示例,上述执行主体可以先消费上述普通队列中的客户端请求,待消费完成后再开始消费上述优先队列中的客户端请求。作为又一示例,上述执行主体还可以为上述普通队列中的客户端请求赋予预设优先级。其中,上述预设优先级通常优于上述优先队列中优先级最低的优先级信息,以保证普通队列中的客户端请求能够被消费。而后,上述执行主体可以按照优先级信息从上述优先队列和普通队列中选取客户端请求进行消费。
可选地,响应于确定满足第一预设条件,上述普通队列的入口关闭,出口仍开启,即普通队列仅供进行消费而并不新增元素。
基于上述可选的实现方式,本方案提供了基于优先队列和普通队列进行客户端请求消费的方案,从而丰富了对客户端请求进行响应的方式。
可选地,基于上述可选的实现方式,上述执行主体还可以按照如下步骤对接收到的客户端请求进行消费:
第一步,确定优先队列和普通队列的消费顺序。
在这些实现方式中,上述执行主体可以通过各种方式确定上述优先队列和普通队列的消费顺序。作为示例,上述执行主体可以先消费上述普通队列中的客户端请求,待消费完成后再开始消费上述优先队列中的客户端请求。作为又一示例,上述执行主体还可以为上述普通队列中的客户端请求赋予预设优先级。其中,上述预设优先级通常优于上述优先队列中优先级最低的优先级信息,以保证普通队列中的客户端请求能够被消费。而后,上述执行主体可以按照优先级信息从上述优先队列和普通队列中选取客户端请求进行消费。
第二步,响应于确定从优先队列中消费客户端请求,从优先队列中获取位于队首的微服务请求队列中的首元素进行消费。
在这些实现方式中,响应于确定从优先队列中消费客户端请求,上述执行主体可以从优先队列中获取位于队首的微服务请求队列中的首元素进行消费。作为示例,上述执行主体可以利用worker线程从优先队列中获取位于队首(即优先级最高)的微服务请求队列中的首元素进行消费。
第三步,更新所发送的首元素的后一元素对应的优先级信息。
在这些实现方式中,上述执行主体可以通过各种方式更新上述第二步所消费的首元素的后一元素对应的优先级信息。作为示例,上述执行主体可以根据当前信息(例如时间段内平均耗时)更新位于上述第二步所消费的首元素之后的元素对应的优先级信息。
第四步,根据所更新的优先级信息,将所接收到的客户端请求插入优先队列中的相应位置。
在这些实现方式中,上述执行主体可以根据上述第三步所更新的优先级信息,将上述优先队列中所接收到的客户端请求重新插入上述优先队列中的相应位置,以实现对优先队列的重新排列。
可选地,上述执行主体可以采用与前述插入优先队列中相应位置相一致的方式,对上述优先队列进行重新排列。
基于上述可选的实现方式,本方案提供了优先队列中的元素进行消费后的优先队列中元素重新排列的方法,保证了优先队列中的元素根据当前情况实时动态更新,为提高请求处理效率提供技术基础。
继续参见图3,图3是根据本公开的实施例的请求响应方法的应用场景的一个示意图。在图3的应用场景中,用户301使用终端设备302发送调用微服务3的请求303。负载均衡设备304将上述请求303转发至服务器305。服务器305接收到上述请求303之后,根据CPU利用率和内存利用率均小于预设阈值来确定满足第一预设条件。而后,服务器305将所接收到的请求303插入预设的优先队列(例如图中3051所示)中的相应位置。上述优先队列中的请求的排列如图中3052所示。接下来,基于上述优先队列(例如图中3052所示),服务器305从队首选取客户端请求(例如微服务1P1)进行消费,以生成响应信息306。
目前,现有技术之一通常是通过设置相应的阈值实现对网关当前接收请求的数量进行控制,导致流量控制方式易造成资源浪费,效率较低。而本公开的上述实施例提供的方法,通过当前资源利用率确定是否满足第一预设条件,在满足第一预设条件时将所接收到的客户端请求插入预设的优先队列中的相应位置。通过创造性地引入微服务请求队列作为上述优先队列中的元素,微服务请求队列中的元素包括该微服务待处理的请求;以及基于优先队列,对接收到的客户端请求进行消费,以生成响应信息。实现了根据当前资源利用率和优先队列所指示的优先级来处理请求,有效地提升了处理请求的效率和灵活性。
进一步参考图4,其示出了请求响应方法的又一个实施例的流程400。该请求响应方法的流程400,包括以下步骤:
步骤401,响应于接收到客户端请求,确定当前资源利用率是否满足第一预设条件。
步骤402,响应于确定满足第一预设条件,将所接收到的客户端请求插入预设的优先队列中的相应位置。
步骤403,基于优先队列,对接收到的客户端请求进行消费,以生成响应信息。
上述步骤401、步骤402、步骤403分别与前述实施例中的步骤201、步骤202、步骤203及其可选的实现方式一致,上文针对步骤201、步骤202、步骤203及其可选的实现方式的描述也适用于步骤401、步骤402和步骤403,此处不再赘述。
步骤404,响应于确定满足第一预设条件,生成指示降低响应权重的权重标识。
在本实施例中,响应于确定满足第一预设条件,请求响应方法的执行主体(例如图1所示的服务器107)可以通过各种方式生成指示降低响应权重的权重标识。其中,上述响应权重可以用于指示负载均衡端所分发的流量的比例。
步骤405,响应于确定满足第一预设条件且满足第三预设条件,生成指示将响应权重降到最低的权重标识。
在本实施例中,上述第三预设条件可以根据实际应用场景而灵活设定,但通常与上述第一预设条件相关联。作为示例,上述第三预设条件可以是上述资源利用率大于第三预设阈值。其中,上述第三预设阈值大于上述第一预设阈值。作为又一示例,上述第三预设条件可以是上述资源利用率处于预设的高负载水平。
步骤406,向负载均衡端发送响应信息。
在本实施例中,上述执行主体可以通过各种方式向负载均衡端发送响应信息。其中,上述响应信息可以用于指示对所消费的客户端请求的相应结果。上述响应信息中还可以包括上述权重标识。上述负载均衡端可以是上述执行主体所接收的客户端请求的来源端。
在本实施例中,作为示例,上述权重标识可以包含在响应信息的header部分。
从图4中可以看出,本实施例中的请求响应方法的流程400体现了在满足第一预设条件时生成用于指示降低响应权重的权重标识的步骤,以及将包含权重标识的响应信息发送至负载均衡端的步骤。由此,本实施例描述的方案可以通过客户端请求的处理端的实际处理情况向负载均衡端进行流量反馈,从而引导负载均衡端动态调整流量分发,提升了请求处理的灵活性和效率。
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了请求响应装置的一个实施例,该装置实施例与图2a或图4所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例提供的请求响应装置500包括确定单元501,被配置成响应于接收到客户端请求,确定当前资源利用率是否满足第一预设条件,其中,客户端请求中包括所请求的微服务的标识;入队单元502,被配置成响应于确定满足第一预设条件,将所接收到的客户端请求插入预设的优先队列中的相应位置,其中,优先队列采用堆数据结构,优先队列中的元素包括微服务请求队列,微服务请求队列中的元素包括该微服务待处理的请求;消费单元503,被配置成基于优先队列,对接收到的客户端请求进行消费,以生成响应信息。
在本实施例中,请求响应装置500中:确定单元501、入队单元502和消费单元503的具体处理及其所带来的技术效果可分别参考图2a对应实施例中的步骤201、步骤202和步骤203的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,上述微服务请求队列中的元素还可以包括与该微服务待处理的请求对应的优先级信息。上述入队单元502可以包括:确定模块(图中未示出),被配置成响应于确定满足第一预设条件,基于微服务的标识确定所接收到的客户端请求对应的优先级信息;入队模块(图中未示出),被配置成基于优先级信息,将所接收到的客户端请求插入预设的优先队列中的相应位置。
在本实施例的一些可选的实现方式中,上述确定模块可以进一步被配置成:响应于确定满足第一预设条件,获取与微服务的标识对应的预设级别和时间段内平均耗时;根据所接收到的客户端请求的到达时间以及所获取的预设级别和时间段内平均耗时,确定所接收到的客户端请求对应的优先级信息。
在本实施例的一些可选的实现方式中,上述优先级信息可以与到达时间负相关,上述优先级信息可以与预设级别正相关,上述优先级信息可以与时间段内平均耗时负相关。
在本实施例的一些可选的实现方式中,上述入队模块可以进一步被配置成:响应于确定优先队列中不存在与微服务的标识相匹配的微服务请求队列,将所接收到的客户端请求插入至优先队列中与所确定的优先级信息相匹配的位置,其中,微服务请求队列在优先队列中的位置可以与微服务请求队列中的首元素的优先级信息相关;将所接收到的客户端请求确定为所插入的新的微服务请求队列中的首元素。
在本实施例的一些可选的实现方式中,该请求响应装置500还可以包括:添加单元(图中未示出),被配置成响应于确定不满足第一预设条件且满足第二预设条件,将所接收到的客户端请求添加至预设的普通队列。
在本实施例的一些可选的实现方式中,上述消费单元可以被进一步配置成:根据优先队列和普通队列,对接收到的客户端请求进行消费。
在本实施例的一些可选的实现方式中,上述消费单元503可以被进一步配置成:确定优先队列和普通队列的消费顺序;响应于确定从优先队列中消费客户端请求,从优先队列中获取位于队首的微服务请求队列中的首元素进行消费;更新所消费的首元素的后一元素对应的优先级信息;根据所更新的优先级信息,将所接收到的客户端请求插入优先队列中的相应位置。
在本实施例的一些可选的实现方式中,该请求响应装置500还可以包括:第一生成单元(图中未示出),被配置成响应于确定满足第一预设条件,生成指示降低响应权重的权重标识,其中,响应权重可以用于指示负载均衡端所分发的流量的比例;第二生成单元(图中未示出),被配置成响应于确定满足第一预设条件且满足第三预设条件,生成指示将响应权重降到最低的权重标识;发送单元(图中未示出),被配置成向负载均衡端发送响应信息,其中,响应信息中可以包括权重标识。
本公开的上述实施例提供的装置,通过确定单元501根据当前资源利用率确定是否满足第一预设条件,入队单元502在满足第一预设条件时将所接收到的客户端请求插入预设的优先队列中的相应位置。通过创造性地引入微服务请求队列作为上述优先队列中的元素,微服务请求队列中的元素包括该微服务待处理的请求;以及消费单元503基于优先队列,对接收到的客户端请求进行消费,以生成响应信息。实现了根据当前资源利用率和优先队列所指示的优先级来处理请求,有效地提升了处理请求的效率和灵活性。
进一步参考图6,其示出了请求响应系统的一个实施例中各个设备之间交互的时序600。该请求响应系统可以包括:负载均衡端(例如图1所示的服务器105),和目标应用服务器(例如图1所示的服务器107)。其中,上述负载均衡端可以被配置成向目标应用服务器发送目标客户端请求;根据响应信息中包括的权重标识,调整向目标应用服务器分发的请求数量。上述目标应用服务器,可以被配置成响应于接收到目标客户端请求,确定当前资源利用率是否满足目标条件,其中,客户端请求中可以包括所请求的微服务的标识;响应于确定满足目标条件,生成指示降低响应权重的权重标识,其中,权重标识可以用于指示负载均衡端所分发的流量的比例;向负载均衡端发送响应信息,其中,响应信息中可以包括权重标识。
在本实施例的一些可选的实现方式中,上述目标应用服务器可以进一步被配置成执行如前述实施例所描述的请求响应方法。
如图6所示,在步骤601中,负载均衡端向目标应用服务器发送目标客户端请求。
在本实施例中,上述负载均衡端可以通过有线或无线连接的方式向目标应用服务器发送目标客户端请求。其中,上述目标客户端请求中可以包括所请求的微服务的标识。上述目标客户端请求中可以与前述实施例中步骤201的相应描述一致,此处不再赘述。
在步骤602中,响应于接收到目标客户端请求,目标应用服务器确定当前资源利用率是否满足目标条件。
在本实施例中,上述步骤602可以与前述实施例中的步骤201及其可选的实现方式一致,上文针对步骤201及其可选的实现方式的描述也适用于步骤602,此处不再赘述。
在步骤603中,响应于确定满足目标条件,目标应用服务器生成指示降低响应权重的权重标识。
在本实施例中,上述响应权重可以用于指示负载均衡端所分发的流量的比例。
需要说明的是,上述步骤603可以与前述实施例中的步骤404、406及其可选的实现方式一致,上文针对步骤404、406及其可选的实现方式的描述也适用于步骤603,此处不再赘述。其中,上述目标条件可以与上述第一预设条件、第三预设条件相关联。相应地,上述权重标识可以用于指示降低响应权重或将响应权重降到最低。
在步骤604中,目标应用服务器向负载均衡端发送响应信息。
在本实施例中,上述响应信息中可以包括上述权重标识。上述步骤604可以与前述实施例中的步骤406及其可选的实现方式一致,上文针对步骤406及其可选的实现方式的描述也适用于步骤604,此处不再赘述。
在步骤605中,根据响应信息中包括的权重标识,负载均衡端调整向目标应用服务器分发的请求数量。
在本实施例中,根据响应信息中包括的权重标识,负载均衡端可以通过各种方式调整向目标应用服务器分发的请求数量。作为示例,若上述响应信息中包括的权重标识用于指示降低响应权重,上述负载均衡端可以减少向上述目标应用服务器分发的请求数量。作为又一示例,若上述响应信息中包括的权重标识用于指示将响应权重降到最低,上述负载均衡端可以停止向上述目标应用服务器分发的请求。
本申请的上述实施例提供的请求响应系统,首先,负载均衡端向目标应用服务器发送包括所请求的微服务的标识的目标客户端请求。而后,目标应用服务器响应于接收到目标客户端请求,确定当前资源利用率是否满足目标条件。之后,响应于确定满足目标条件,目标应用服务器生成指示降低响应权重的权重标识,其中,响应权重用于指示负载均衡端所分发的流量的比例。接下来,目标应用服务器向负载均衡端发送响应信息,其中,响应信息中包括权重标识。最后,根据响应信息中包括的权重标识,负载均衡端调整向目标应用服务器分发的请求数量。从而可以通过客户端请求的处理端的实际处理情况向负载均衡端进行流量反馈,实现引导负载均衡端动态调整流量分发,提升了请求处理的灵活性和效率。
下面参考图7,其示出了适于用来实现本申请的实施例的电子设备(例如图1中的服务器107)700的结构示意图。图7示出的服务器仅仅是一个示例,不应对本申请的实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700可以包括处理装置(例如中央处理器、图形处理器等)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储装置708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有电子设备700操作所需的各种程序和数据。处理装置701、ROM 702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
通常,以下装置可以连接至I/O接口705:包括例如触摸屏、触摸板、键盘、鼠标、等的输入装置706;包括例如液晶显示器(LCD,Liquid Crystal Display)、扬声器、振动器等的输出装置707;包括例如磁带、硬盘等的存储装置708;以及通信装置709。通信装置709可以允许电子设备700与其他设备进行无线或有线通信以交换数据。虽然图7示出了具有各种装置的电子设备700,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图7中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置709从网络上被下载和安装,或者从存储装置708被安装,或者从ROM 702被安装。在该计算机程序被处理装置701执行时,执行本申请的实施例的方法中限定的上述功能。
需要说明的是,本公开的实施例所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(Radio Frequency,射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:响应于接收到客户端请求,确定当前资源利用率是否满足第一预设条件,其中,客户端请求中包括所请求的微服务的标识;响应于确定满足第一预设条件,将所接收到的客户端请求插入预设的优先队列中的相应位置,其中,优先队列采用堆数据结构,优先队列中的元素包括微服务请求队列,微服务请求队列中的元素包括该微服务待处理的请求;基于优先队列,对接收到的客户端请求进行消费,以生成响应信息。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”、Python语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器,包括确定单元、入队单元、消费单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,确定单元还可以被描述为“响应于接收到客户端请求,确定当前资源利用率是否满足第一预设条件的单元,其中,客户端请求中包括所请求的微服务的标识”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (14)
1.一种请求响应方法,包括:
响应于接收到客户端请求,确定当前资源利用率是否满足第一预设条件,其中,所述客户端请求中包括所请求的微服务的标识;
响应于确定满足所述第一预设条件,将所接收到的客户端请求插入预设的优先队列中的相应位置,其中,所述优先队列采用堆数据结构,所述优先队列中的元素包括微服务请求队列,所述微服务请求队列中的元素包括该微服务待处理的请求;
基于所述优先队列,对接收到的客户端请求进行消费,以生成响应信息。
2.根据权利要求1所述的方法,其中,所述微服务请求队列中的元素还包括与该微服务待处理的请求对应的优先级信息;以及
所述响应于确定满足所述第一预设条件,将所接收到的客户端请求插入预设的优先队列中的相应位置,包括:
响应于确定满足所述第一预设条件,基于所述微服务的标识确定所接收到的客户端请求对应的优先级信息;
基于所述优先级信息,将所接收到的客户端请求插入预设的优先队列中的相应位置。
3.根据权利要求2所述的方法,其中,所述响应于确定满足所述第一预设条件,基于所述微服务的标识确定所接收到的客户端请求对应的优先级信息,包括:
响应于确定满足所述第一预设条件,获取与所述微服务的标识对应的预设级别和时间段内平均耗时;
根据所接收到的客户端请求的到达时间以及所获取的预设级别和时间段内平均耗时,确定所接收到的客户端请求对应的优先级信息。
4.根据权利要求3所述的方法,其中,所述优先级信息与所述到达时间负相关,所述优先级信息与所述预设级别正相关,所述优先级信息与所述时间段内平均耗时负相关。
5.根据权利要求2所述的方法,其中,所述基于所述优先级信息,将所接收到的客户端请求插入预设的优先队列中的相应位置,包括:
响应于确定所述优先队列中不存在与所述微服务的标识相匹配的微服务请求队列,将所接收到的客户端请求插入至所述优先队列中与所确定的优先级信息相匹配的位置,其中,所述微服务请求队列在所述优先队列中的位置与所述微服务请求队列中的首元素的优先级信息相关;
将所接收到的客户端请求确定为所插入的新的微服务请求队列中的首元素。
6.根据权利要求1所述的方法,其中,所述方法还包括:
响应于确定不满足所述第一预设条件且满足第二预设条件,将所接收到的客户端请求添加至预设的普通队列。
7.根据权利要求6所述的方法,其中,所述基于所述优先队列,对所述客户端请求进行消费,包括:
根据所述优先队列和所述普通队列,对接收到的客户端请求进行消费。
8.根据权利要求7所述的方法,其中,所述根据所述优先队列和所述普通队列,对接收到的客户端请求进行消费,包括:
确定所述优先队列和所述普通队列的消费顺序;
响应于确定从所述优先队列中消费客户端请求,从所述优先队列中获取位于队首的微服务请求队列中的首元素进行消费;
更新所消费的首元素的后一元素对应的优先级信息;
根据所更新的优先级信息,将所接收到的客户端请求插入所述优先队列中的相应位置。
9.根据权利要求1-8之一所述的方法,所述方法还包括:
响应于确定满足所述第一预设条件,生成指示降低响应权重的权重标识,其中,所述响应权重用于指示负载均衡端所分发的流量的比例;
响应于确定满足所述第一预设条件且满足第三预设条件,生成指示将响应权重降到最低的权重标识;
向负载均衡端发送所述响应信息,其中,所述响应信息中包括所述权重标识。
10.一种请求响应装置,包括:
确定单元,被配置成响应于接收到客户端请求,确定当前资源利用率是否满足第一预设条件,其中,所述客户端请求中包括所请求的微服务的标识;
入队单元,被配置成响应于确定满足所述第一预设条件,将所接收到的客户端请求插入预设的优先队列中的相应位置,其中,所述优先队列采用堆数据结构,所述优先队列中的元素包括微服务请求队列,所述微服务请求队列中的元素包括该微服务待处理的请求;
消费单元,被配置成基于所述优先队列,对接收到的客户端请求进行消费,以生成响应信息。
11.一种请求响应系统,包括:
负载均衡端,被配置成向目标应用服务器发送目标客户端请求,其中,所述目标客户端请求中包括所请求的微服务的标识;根据所述响应信息中包括的所述权重标识,调整向所述目标应用服务器分发的请求数量;
目标应用服务器,被配置成响应于接收到所述目标客户端请求,确定当前资源利用率是否满足目标条件;响应于确定满足所述目标条件,生成指示降低响应权重的权重标识,其中,所述响应权重用于指示负载均衡端所分发的流量的比例;向所述负载均衡端发送响应信息,其中,所述响应信息中包括所述权重标识。
12.根据权利要求11所述的系统,其中,所述目标应用服务器进一步被配置成执行如权利要求1-9之一所述的方法。
13.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如权利要求1-9中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210279669.3A CN114915663B (zh) | 2022-03-21 | 2022-03-21 | 请求响应方法、装置、系统、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210279669.3A CN114915663B (zh) | 2022-03-21 | 2022-03-21 | 请求响应方法、装置、系统、电子设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114915663A true CN114915663A (zh) | 2022-08-16 |
CN114915663B CN114915663B (zh) | 2024-06-18 |
Family
ID=82763511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210279669.3A Active CN114915663B (zh) | 2022-03-21 | 2022-03-21 | 请求响应方法、装置、系统、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114915663B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115550453A (zh) * | 2022-10-08 | 2022-12-30 | 苏伊士水务工程有限责任公司 | 用于目标操作的排队方法和排队系统 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106257893A (zh) * | 2016-08-11 | 2016-12-28 | 浪潮(北京)电子信息产业有限公司 | 存储服务器任务响应方法、客户端、服务器及系统 |
CN106487594A (zh) * | 2016-10-31 | 2017-03-08 | 中国人民解放军91655部队 | 基于微服务组件的网络流量采集和分析系统 |
CN108121608A (zh) * | 2016-11-29 | 2018-06-05 | 杭州华为数字技术有限公司 | 一种队列调度方法以及节点设备 |
CN109408207A (zh) * | 2018-09-20 | 2019-03-01 | 北京小米移动软件有限公司 | 微服务访问控制方法、装置及存储介质 |
CN109491801A (zh) * | 2018-09-27 | 2019-03-19 | 平安科技(深圳)有限公司 | 微服务访问调度方法、装置、介质及电子设备 |
CN110737517A (zh) * | 2019-08-14 | 2020-01-31 | 广西电网电力调度控制中心 | 一种电力系统云平台计算分析微服务资源调度方法 |
CN111158895A (zh) * | 2018-11-08 | 2020-05-15 | 中国电信股份有限公司 | 微服务资源调度方法和系统 |
CN111338810A (zh) * | 2018-12-19 | 2020-06-26 | 北京京东尚科信息技术有限公司 | 用于存储信息的方法和装置 |
CN111475373A (zh) * | 2020-03-10 | 2020-07-31 | 中国平安人寿保险股份有限公司 | 微服务下的服务控制方法、装置、计算机设备及存储介质 |
CN111490890A (zh) * | 2019-01-28 | 2020-08-04 | 珠海格力电器股份有限公司 | 基于微服务架构的分级注册方法、装置、存储介质及设备 |
CN111600930A (zh) * | 2020-04-09 | 2020-08-28 | 网宿科技股份有限公司 | 微服务请求的流量管理方法、装置、服务器及存储介质 |
US10795859B1 (en) * | 2017-04-13 | 2020-10-06 | EMC IP Holding Company LLC | Micro-service based deduplication |
CN113742111A (zh) * | 2021-09-13 | 2021-12-03 | 广东电网有限责任公司 | 一种微服务rpc自适应调度方法及相关装置 |
US11228656B1 (en) * | 2020-10-23 | 2022-01-18 | Express Scripts Strategic Development, Inc. | Systems and methods for resilient communication protocols and interfaces |
CN114138486A (zh) * | 2021-12-02 | 2022-03-04 | 中国人民解放军国防科技大学 | 面向云边异构环境的容器化微服务编排方法、系统及介质 |
-
2022
- 2022-03-21 CN CN202210279669.3A patent/CN114915663B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106257893A (zh) * | 2016-08-11 | 2016-12-28 | 浪潮(北京)电子信息产业有限公司 | 存储服务器任务响应方法、客户端、服务器及系统 |
CN106487594A (zh) * | 2016-10-31 | 2017-03-08 | 中国人民解放军91655部队 | 基于微服务组件的网络流量采集和分析系统 |
CN108121608A (zh) * | 2016-11-29 | 2018-06-05 | 杭州华为数字技术有限公司 | 一种队列调度方法以及节点设备 |
US10795859B1 (en) * | 2017-04-13 | 2020-10-06 | EMC IP Holding Company LLC | Micro-service based deduplication |
CN109408207A (zh) * | 2018-09-20 | 2019-03-01 | 北京小米移动软件有限公司 | 微服务访问控制方法、装置及存储介质 |
CN109491801A (zh) * | 2018-09-27 | 2019-03-19 | 平安科技(深圳)有限公司 | 微服务访问调度方法、装置、介质及电子设备 |
CN111158895A (zh) * | 2018-11-08 | 2020-05-15 | 中国电信股份有限公司 | 微服务资源调度方法和系统 |
CN111338810A (zh) * | 2018-12-19 | 2020-06-26 | 北京京东尚科信息技术有限公司 | 用于存储信息的方法和装置 |
CN111490890A (zh) * | 2019-01-28 | 2020-08-04 | 珠海格力电器股份有限公司 | 基于微服务架构的分级注册方法、装置、存储介质及设备 |
CN110737517A (zh) * | 2019-08-14 | 2020-01-31 | 广西电网电力调度控制中心 | 一种电力系统云平台计算分析微服务资源调度方法 |
CN111475373A (zh) * | 2020-03-10 | 2020-07-31 | 中国平安人寿保险股份有限公司 | 微服务下的服务控制方法、装置、计算机设备及存储介质 |
CN111600930A (zh) * | 2020-04-09 | 2020-08-28 | 网宿科技股份有限公司 | 微服务请求的流量管理方法、装置、服务器及存储介质 |
US11228656B1 (en) * | 2020-10-23 | 2022-01-18 | Express Scripts Strategic Development, Inc. | Systems and methods for resilient communication protocols and interfaces |
CN113742111A (zh) * | 2021-09-13 | 2021-12-03 | 广东电网有限责任公司 | 一种微服务rpc自适应调度方法及相关装置 |
CN114138486A (zh) * | 2021-12-02 | 2022-03-04 | 中国人民解放军国防科技大学 | 面向云边异构环境的容器化微服务编排方法、系统及介质 |
Non-Patent Citations (3)
Title |
---|
FANGZHOU WAN: "Chain-Oriented Load Balancing in Microservice System", 《2020 WORLD CONFERENCE ON COMPUTING AND COMMUNICATION TECHNOLOGIES (WCCCT)》 * |
罗欢;陈仁泽;刘明伟;徐律冠;: "基于DevOps的云平台微服务架构可靠性研究", 环境技术, no. 04, 25 August 2020 (2020-08-25) * |
蒋勇;: "基于微服务架构的基础设施设计", 软件, no. 05 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115550453A (zh) * | 2022-10-08 | 2022-12-30 | 苏伊士水务工程有限责任公司 | 用于目标操作的排队方法和排队系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114915663B (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11146502B2 (en) | Method and apparatus for allocating resource | |
CN109995801B (zh) | 一种消息传输方法和装置 | |
US8139596B2 (en) | Communicating prioritized messages to a destination queue from multiple source queues using source-queue-specific priority values | |
CN109388626B (zh) | 用于向业务分配编号的方法和装置 | |
CN113132489A (zh) | 下载文件的方法、装置、计算设备和介质 | |
CN109447635B (zh) | 用于区块链的信息存储方法和装置 | |
CN109873863B (zh) | 服务的异步调用方法和装置 | |
CN108011949B (zh) | 用于获取数据的方法和装置 | |
CN111427706A (zh) | 数据处理方法、多服务器系统、数据库、电子设备及存储介质 | |
CN113204425A (zh) | 供进程管理内部线程的方法、装置、电子设备及存储介质 | |
CN110401731B (zh) | 用于分配内容分发节点的方法和装置 | |
CN114915663B (zh) | 请求响应方法、装置、系统、电子设备和介质 | |
CN109413212B (zh) | 用于处理请求的方法和装置 | |
US20150249625A1 (en) | Using analytics to optimize performance of a messaging system via topic migration to alternate delivery methods | |
CN112884098B (zh) | 卡号生成方法和装置 | |
CN110113176B (zh) | 用于配置服务器的信息同步方法及装置 | |
CN110716809B (zh) | 用于调度云资源的方法和装置 | |
CN111694670B (zh) | 资源分配方法、装置、设备和计算机可读介质 | |
CN112948138A (zh) | 一种处理消息的方法和装置 | |
CN112685481A (zh) | 一种数据处理方法和装置 | |
CN112784139B (zh) | 查询方法、装置、电子设备和计算机可读介质 | |
CN116861397A (zh) | 一种请求处理方法、装置、电子设备及计算机可读介质 | |
CN112163176A (zh) | 数据存储方法、装置、电子设备和计算机可读介质 | |
CN112463616A (zh) | 一种面向Kubernetes容器平台的混沌测试方法和装置 | |
CN112182400A (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 |