限流方法、装置、设备、存储介质和程序产品制造方法及图纸

技术编号:34893258 阅读:28 留言:0更新日期:2022-09-10 13:52
本申请涉及一种限流方法、装置、设备、存储介质和程序产品。所述方法包括:在接收到针对微服务系统的服务调用请求后,通过获取服务调用请求中的用于指示服务调用请求所调用的目标服务的服务标识、用于指示目标服务所属的目标服务群组的服务群组标识以及用于指示目标服务群组所属的目标应用的应用标识,然后,根据获取到的标识信息在限流规则集合中查找服务调用请求触发的目标限流规则,如果查找到目标限流规则,则对服务调用请求进行限流处理。采用本方法能够同时从服务维度、服务群组维度和应用维度设置对应的限流规则,限流效果更好。好。好。

【技术实现步骤摘要】
限流方法、装置、设备、存储介质和程序产品


[0001]本申请涉及云计算
,特别是涉及一种限流方法、装置、设备、存储介质和程序产品。

技术介绍

[0002]微服务领域,定义服务为一种可调用以及可复用的经过封装的软件资源。通过不同的微服务开发框架可以实现不同的服务。目前Dubbo是一种广泛使用的微服务框架。在Dubbo微服务框架中,调用协议(Dubbo协议)为私有TCP协议,因此无法通过通用的HTTP协议直接调用Dubbo微服务框架开发的服务。所以一般增加微服务网关作为HTTP协议和Dubbo协议的转换入口,通过微服务网关方便调用方通过HTTP协议调用微服务网关后端的服务。
[0003]其中,在微服务网关上,网关临界资源指微服务网关能支持的HTTP请求最大并发量,当调用单个服务的HTTP请求过多时,会挤占其他服务的调用量,还可能影响微服务网关的正常运行,因此,需要对微服务网关的服务调用请求进行限流处理。而现有的微服务网关限流效果较差。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种能够多维度限流的限流方法、装置、设备、存储介质和程序产品。
[0005]第一方面,本申请提供了一种限流方法。该方法应用于微服务系统对应的微服务网关中,微服务系统包括多个微服务,该方法包括:
[0006]在接收到针对微服务系统的服务调用请求后,获取服务调用请求中的标识信息,标识信息包括服务标识、服务群组标识以及应用标识,服务标识用于指示服务调用请求所调用的目标服务,服务群组标识用于指示目标服务所属的目标服务群组,应用标识用于指示目标服务群组所属的目标应用;根据标识信息在限流规则集合中查找服务调用请求触发的目标限流规则,其中,限流规则集合包括针对服务的服务限流规则、针对服务群组的群组限流规则以及针对应用的应用限流规则;若查找到目标限流规则,则对服务调用请求进行限流处理。
[0007]在其中一个实施例中,根据标识信息在限流规则集合中查找服务调用请求触发的目标限流规则,包括:根据服务标识、服务群组标识以及应用标识依次查询限流规则集合;在每次查询后,判断查询结果是否满足目标条件,若满足,则确定查询到目标限流规则,并停止继续查询,若不满足,则确定未查询到目标限流规则,且,在不为最后一次查询的情况下,继续进行查询。
[0008]在其中一个实施例中,判断查询结果是否满足目标条件,包括:在根据服务标识查询限流规则集合的情况下,判断是否查询到与服务标识匹配的目标服务限流规则,若查询到目标服务限流规则,则判断服务调用请求是否触发目标服务限流规则,若触发目标服务限流规则,则确定查询结果满足目标条件,若未查询到目标服务限流规则,或者,未触发目
标服务限流规则,则确定查询结果不满足目标条件;在根据服务群组标识查询限流规则集合的情况下,判断是否查询到与服务群组标识匹配的目标群组限流规则,若查询到目标群组限流规则,则判断服务调用请求是否触发目标群组限流规则,若触发目标群组限流规则,则确定查询结果满足目标条件,若未查询到目标群组限流规则,或者,未触发目标群组限流规则,则确定查询结果不满足目标条件;在根据应用标识查询限流规则集合的情况下,判断是否查询到与应用标识匹配的目标应用限流规则,若查询到目标应用限流规则,则判断服务调用请求是否触发目标应用限流规则,若触发目标应用限流规则,则确定查询结果满足目标条件,若未查询到目标应用限流规则,或者,未触发目标应用限流规则,则确定查询结果不满足目标条件。
[0009]在其中一个实施例中,对服务调用请求进行限流处理,包括:禁止对服务调用请求进行响应。
[0010]在其中一个实施例中,根据标识信息在限流规则集合中查找服务调用请求触发的目标限流规则之前,方法还包括:接收配置中心推送的限流配置信息;对限流配置信息进行封装处理,得到限流规则;基于封装处理得到的限流规则构建限流规则集合。
[0011]在其中一个实施例中,方法还包括:对候选微服务在预设时间段内的失败率和最高并发数进行统计处理,候选微服务为微服务系统中的任一微服务;根据失败率和最高并发数对候选微服务对应的服务限流规则进行调整处理。
[0012]在其中一个实施例中,根据失败率和最高并发数对候选微服务对应的服务限流规则进行调整处理,包括:若失败率大于等于第一失败率阈值,则将候选微服务对应的服务限流规则中的限流阈值修改为第一值和最高并发数/n中的最大值;若失败率小于第一失败率阈值且候选微服务对应的服务限流规则中的限流阈值已根据失败率和最高并发数进行过调整处理,则将服务限流规则中的限流阈值设置为当前阈值*k和线程池容量*m中的最小值;其中,当前阈值为服务限流规则中配置的限流阈值,线程池容量为微服务网关能支持的服务调用请求的最大值。
[0013]第二方面,本申请还提供了一种限流装置。所述装置包括:
[0014]获取模块,用于在接收到针对微服务系统的服务调用请求后,获取服务调用请求中的标识信息,标识信息包括服务标识、服务群组标识以及应用标识,服务标识用于指示服务调用请求所调用的目标服务,服务群组标识用于指示目标服务所属的目标服务群组,应用标识用于指示目标服务群组所属的目标应用;
[0015]查找模块,用于根据标识信息在限流规则集合中查找服务调用请求触发的目标限流规则,其中,限流规则集合包括针对服务的服务限流规则、针对服务群组的群组限流规则以及针对应用的应用限流规则;
[0016]限流模块,用于若查找到目标限流规则,则对服务调用请求进行限流处理。
[0017]在其中一个实施例中,该查找模块,具体用于根据服务标识、服务群组标识以及应用标识依次查询限流规则集合;在每次查询后,判断查询结果是否满足目标条件,若满足,则确定查询到目标限流规则,并停止继续查询,若不满足,则确定未查询到目标限流规则,且,在不为最后一次查询的情况下,继续进行查询。
[0018]在其中一个实施例中,该查找模块,具体用于在根据服务标识查询限流规则集合的情况下,判断是否查询到与服务标识匹配的目标服务限流规则,若查询到目标服务限流
规则,则判断服务调用请求是否触发目标服务限流规则,若触发目标服务限流规则,则确定查询结果满足目标条件,若未查询到目标服务限流规则,或者,未触发目标服务限流规则,则确定查询结果不满足目标条件;在根据服务群组标识查询限流规则集合的情况下,判断是否查询到与服务群组标识匹配的目标群组限流规则,若查询到目标群组限流规则,则判断服务调用请求是否触发目标群组限流规则,若触发目标群组限流规则,则确定查询结果满足目标条件,若未查询到目标群组限流规则,或者,未触发目标群组限流规则,则确定查询结果不满足目标条件;在根据应用标识查询限流规则集合的情况下,判断是否查询到与应用标识匹配的目标应用限流规则,若查询到目标应用限流规则,则判断服务调用请求是否触发目标应用限流规则,若触发目标应用限流规则,则确定查询结果满足目标条件,若未查询到目标应用限流规则,或者,未触发目标应用限流规则,则确定查询结果不满足本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种限流方法,其特征在于,应用于微服务系统对应的微服务网关中,所述微服务系统包括多个微服务,所述方法包括:在接收到针对所述微服务系统的服务调用请求后,获取所述服务调用请求中的标识信息,所述标识信息包括服务标识、服务群组标识以及应用标识,所述服务标识用于指示所述服务调用请求所调用的目标服务,所述服务群组标识用于指示所述目标服务所属的目标服务群组,所述应用标识用于指示所述目标服务群组所属的目标应用;根据所述标识信息在限流规则集合中查找所述服务调用请求触发的目标限流规则,其中,所述限流规则集合包括针对服务的服务限流规则、针对服务群组的群组限流规则以及针对应用的应用限流规则;若查找到所述目标限流规则,则对所述服务调用请求进行限流处理。2.根据权利要求1所述的方法,其特征在于,所述根据所述标识信息在限流规则集合中查找所述服务调用请求触发的目标限流规则,包括:根据所述服务标识、所述服务群组标识以及所述应用标识依次查询所述限流规则集合;在每次查询后,判断查询结果是否满足目标条件,若满足,则确定查询到所述目标限流规则,并停止继续查询,若不满足,则确定未查询到所述目标限流规则,且,在不为最后一次查询的情况下,继续进行查询。3.根据权利要求2所述的方法,其特征在于,所述判断查询结果是否满足目标条件,包括:在根据所述服务标识查询所述限流规则集合的情况下,判断是否查询到与所述服务标识匹配的目标服务限流规则,若查询到所述目标服务限流规则,则判断所述服务调用请求是否触发所述目标服务限流规则,若触发所述目标服务限流规则,则确定查询结果满足所述目标条件,若未查询到所述目标服务限流规则,或者,未触发所述目标服务限流规则,则确定查询结果不满足所述目标条件;在根据所述服务群组标识查询所述限流规则集合的情况下,判断是否查询到与所述服务群组标识匹配的目标群组限流规则,若查询到所述目标群组限流规则,则判断所述服务调用请求是否触发所述目标群组限流规则,若触发所述目标群组限流规则,则确定查询结果满足所述目标条件,若未查询到所述目标群组限流规则,或者,未触发所述目标群组限流规则,则确定查询结果不满足所述目标条件;在根据所述应用标识查询所述限流规则集合的情况下,判断是否查询到与所述应用标识匹配的目标应用限流规则,若查询到所述目标应用限流规则,则判断所述服务调用请求是否触发所述目标应用限流规则,若触发所述目标应用限流规则,则确定查询结果满足所述目标条件,若未查询到所述目标应用限流规则,或者,未触发所述目标应用限流规则,则确定查询结果不满足所述目标条件。4.根据权利要求1至3任一所述的方法,其特征在于,所述对所述服务调用请求进行限流处理,包括...

【专利技术属性】
技术研发人员:成诺夏龙飞颜高飞李剑
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1