System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 服务请求处理方法、装置、电子设备和可读存储介质制造方法及图纸_技高网

服务请求处理方法、装置、电子设备和可读存储介质制造方法及图纸

技术编号:40589184 阅读:5 留言:0更新日期:2024-03-12 21:49
本发明专利技术实施例提供了一种服务请求处理方法、装置、电子设备和可读存储介质,所述方法包括:在接收到用户端发送的服务请求的情况下,基于多个实例将服务请求存储至请求队列;基于多个实例中的目标实例获取第二服务器的配置信息,配置信息包括配额数据,配额数据用于表示第二服务器已使用配额与第二服务器的配额总量的关系;在请求队列包括未处理的服务请求,且第二服务器已使用配额小于配额总量的情况下,控制目标实例从请求队列中获取目标服务请求;基于目标实例向第二服务器发送目标服务请求。避免通过第一服务器向第二服务器发送的服务请求的请求量超过第二服务器的限制,导致服务请求被第二服务器丢弃的情况,减少了服务请求出现异常的现象。

【技术实现步骤摘要】

本专利技术涉及计算机,特别是涉及一种服务请求处理方法、装置、电子设备和可读存储介质


技术介绍

1、目前,服务提供方的服务系统通常是分布式多机房、多实例部署的。例如,一服务提供方在底层部署多个实例,这样,当向该服务提供方发送的服务请求流量较大时,该服务提供方基于多个实例可以实现服务请求的负载均衡。

2、然而,在服务请求需要通过一个服务提供方提供的a服务(即上游服务)访问到另一个访问提供方提供的b服务(即下游服务)的情况下,由于b服务有严格的流量限制,通过a服务向b服务的请求量超过b服务的限制时,b服务的服务提供方会将服务请求丢弃,导致服务请求出现异常。


技术实现思路

1、本专利技术实施例的目的在于提供一种服务请求处理方法、装置、电子设备和可读存储介质,以解决现有的服务请求处理过程中容易导致服务请求出现异常的问题。具体技术方案如下:

2、在本专利技术实施的第一方面,提供了一种服务请求处理方法,应用于第一服务器,所述第一服务器包括多个实例,每一个实例中部署有一个流控组件,所述方法包括:

3、在接收到用户端发送的服务请求的情况下,基于所述多个实例将所述服务请求存储至请求队列;

4、基于所述多个实例中的目标实例获取第二服务器的配置信息,所述配置信息包括配额数据,所述配额数据用于表示所述第二服务器已使用配额与所述第二服务器的配额总量的关系,所述配额总量表示在预设时间段内的处理服务请求的最大数量;

5、在所述请求队列包括未处理的服务请求,且所述第二服务器已使用配额小于所述配额总量的情况下,控制所述目标实例从所述请求队列中获取目标服务请求;

6、基于所述目标实例向所述第二服务器发送所述目标服务请求。

7、可选地,所述配置信息还包括每秒查询率qps,所述qps用于表示所述第二服务器在单位时间内处理的服务请求的最大数量,所述预设时间段包括所述单位时间;

8、在所述控制所述目标实例从所述请求队列中获取目标服务请求之前,所述方法还包括:

9、根据所述qps确定所述目标实例从所述请求队列中获取服务请求的数量,得到目标数量的服务请求,所述目标数量小于或等于所述qps;

10、将所述目标数量的服务请求,确定为所述目标服务请求。

11、可选地,在所述基于所述多个实例中的目标实例获取第二服务器的配置信息之前,所述方法还包括:

12、控制所述多个实例获取所述请求队列发送的第一访问令牌;

13、在访问令牌生成周期内,将所述多个实例中获取到所述第一访问令牌的实例,确定为所述目标实例。

14、可选地,在所述在访问令牌生成周期内,将所述多个实例中获取到所述第一访问令牌的实例,确定为所述目标实例之后,所述方法还包括:

15、对所述目标实例进行监听;

16、在监听到所述目标实例异常的情况下,向所述请求队列发送访问令牌请求信息,所述访问令牌请求信息用于所述请求队列更新所述访问令牌生成周期,以生成第二访问令牌;

17、其中,在生成所述第二访问令牌的情况下,所述第一访问令牌失效,所述第二访问令牌用于在所述多个实例中重新确定一个目标实例。

18、可选地,在所述基于所述多个实例中的目标实例获取第二服务器的配置信息之后,所述方法还包括:

19、在所述第二服务器已使用配额大于或等于所述配额总量的情况下,控制所述目标实例休眠。

20、在本专利技术实施的第二方面,提供了另一种服务请求处理方法,应用于第二服务器,所述方法包括:

21、在接收到第一服务器发送的配置信息获取请求的情况下,将所述第二服务器的配置信息发送至所述第一服务器,所述配置信息包括配额数据,所述配额数据用于表示所述第二服务器已使用配额与所述第二服务器的配额总量的关系,所述配额总量表示在预设时间段内的处理服务请求的最大数量;

22、执行所述第一服务器发送的目标服务请求,生成执行结果。

23、在本专利技术实施的第三方面,提供了一种服务请求处理装置,应用于第一服务器,所述第一服务器包括多个实例,每一个实例中部署有一个流控组件,所述装置包括:

24、存储模块,用于在接收到用户端发送的服务请求的情况下,基于所述多个实例将所述服务请求存储至请求队列;

25、获取模块,用于基于所述多个实例中的目标实例获取第二服务器的配置信息,所述配置信息包括配额数据,所述配额数据用于表示所述第二服务器已使用配额与所述第二服务器的配额总量的关系,所述配额总量表示在预设时间段内的处理服务请求的最大数量;

26、第一控制模块,用于在所述请求队列包括未处理的服务请求,且所述第二服务器已使用配额小于所述配额总量的情况下,控制所述目标实例从所述请求队列中获取目标服务请求;

27、第一发送模块,用于基于所述目标实例向所述第二服务器发送所述目标服务请求。

28、在本专利技术实施的第四方面,提供了另一种服务请求处理装置,应用于第二服务器,所述装置包括:

29、发送模块,用于在接收到第一服务器发送的配置信息获取请求的情况下,将所述第二服务器的配置信息发送至所述第一服务器,所述配置信息包括配额数据,所述配额数据用于表示所述第二服务器已使用配额与所述第二服务器的配额总量的关系,所述配额总量表示在预设时间段内的处理服务请求的最大数量;

30、执行模块,用于执行所述第一服务器发送的目标服务请求,生成执行结果。

31、在本专利技术实施的第五方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

32、存储器,用于存放程序;

33、处理器,用于执行存储器上所存放的程序时,实现如第一方面所述的方法。

34、在本专利技术实施的第六方面,提供了另一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

35、存储器,用于存放程序;

36、处理器,用于执行存储器上所存放的程序时,实现如第二方面所述的方法。

37、在本专利技术实施的第七方面,提供了一种可读存储介质,其上存储有程序,该程序被处理器执行时实现如第一方面所述的方法,或者,实现如第二方面所述的方法。

38、在本专利技术实施例中,在第一服务器中部署多个实例以实现负载均衡,并在每一个实例中部署一个流控组件。在接收到用户端发送的服务请求的情况下,首先基于多个实例将服务请求存储至请求队列;然后,基于在多个实例中确定的目标实例的流控组件获取第二服务器的配置信息;根据第二服务器的配置信息确定第二服务器的负载情况,从而确定是否需要通过目标实例将缓存在请求队列中的服务请求发送至第二服务器。在第二服务器已使用配额小于配额总量的情况下,控制目标实例从请求队列中获取目标服务请求,并向第二服务器发送目标服务请本文档来自技高网...

【技术保护点】

1.一种服务请求处理方法,其特征在于,应用于第一服务器,所述第一服务器包括多个实例,每一个实例中部署有一个流控组件,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述配置信息还包括每秒查询率QPS,所述QPS用于表示所述第二服务器在单位时间内处理的服务请求的最大数量,所述预设时间段包括所述单位时间;

3.根据权利要求1所述的方法,其特征在于,在所述基于所述多个实例中的目标实例获取第二服务器的配置信息之前,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,在所述在访问令牌生成周期内,将所述多个实例中获取到所述第一访问令牌的实例,确定为所述目标实例之后,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,在所述基于所述多个实例中的目标实例获取第二服务器的配置信息之后,所述方法还包括:

6.一种服务请求处理方法,其特征在于,应用于第二服务器,所述方法包括:

7.一种服务请求处理装置,其特征在于,应用于第一服务器,所述第一服务器包括多个实例,每一个实例中部署有一个流控组件,所述装置包括:

8.一种服务请求处理装置,其特征在于,应用于第二服务器,所述装置包括:

9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

10.一种可读存储介质,其上存储有程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一项所述的方法,或者,实现如权利要求7所述的方法。

...

【技术特征摘要】

1.一种服务请求处理方法,其特征在于,应用于第一服务器,所述第一服务器包括多个实例,每一个实例中部署有一个流控组件,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述配置信息还包括每秒查询率qps,所述qps用于表示所述第二服务器在单位时间内处理的服务请求的最大数量,所述预设时间段包括所述单位时间;

3.根据权利要求1所述的方法,其特征在于,在所述基于所述多个实例中的目标实例获取第二服务器的配置信息之前,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,在所述在访问令牌生成周期内,将所述多个实例中获取到所述第一访问令牌的实例,确定为所述目标实例之后,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,在所述...

【专利技术属性】
技术研发人员:胡良军
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1