分布式集群的限流方法、装置和电子设备制造方法及图纸

技术编号:35519019 阅读:28 留言:0更新日期:2022-11-09 14:37
本说明书实施例提出一种分布式集群的限流方法、装置和电子设备,其中,上述方法中,接收任务执行指令之后,响应于任务执行指令,从集群服务器连接的任务池中捞取待执行任务,然后根据待执行任务的数量,从集群服务器连接的令牌桶中抢占令牌,进而根据抢占的令牌的数量确定上述集群服务器的限流量,最后根据限流量,对待执行任务进行限流,从而可以实现集群限流总数量根据令牌桶中的令牌数量确定,不会随着集群服务器扩容而产生变化,并且集群中的每个服务器按需抢占令牌,不会由于任务不均匀分布导致集群中服务器的执行效率降低,可以最大化集群中服务器的执行效率;另外,上述方法中,根据抢占的令牌的数量确定限流量,可以提高限流效能。高限流效能。高限流效能。

【技术实现步骤摘要】
分布式集群的限流方法、装置和电子设备


[0001]本说明书实施例涉及互联网
,尤其涉及一种分布式集群的限流方法、装置和电子设备。

技术介绍

[0002]限流为保证系统的平稳运行起到了关键性的作用。不管应用场景是哪种,可以认为限流是针对超过预期的流量,通过预先设定的限流规则选择性地对某些请求进行限流熔断。除了对应用本身入口处限流来保证系统不会被超预期流量冲垮之外,在全链路场景下,如果任务发送方的任务数量过大,也会对下游系统造成冲击,导致下游系统不稳定,甚至雪崩。现有相关技术中,通常采用的限流方法是针对单服务器内部的限流。而在集群场景下,随着集群的扩大,限流数量也会随之扩大,仅针对单服务器内部进行限流无法满足集群场景下的限流需求,因此需要提供一种方案,对分布式集群进行限流。

技术实现思路

[0003]本说明书实施例提供了一种分布式集群的限流方法、装置和电子设备,以实现集群限流总数量根据令牌桶中的令牌数量确定,不会随着服务器扩容而产生变化,并且集群中的每个服务器按需抢占令牌,可以最大化集群中服务器的执行效率。
...

【技术保护点】

【技术特征摘要】
1.一种分布式集群的限流方法,包括:接收任务执行指令;响应于所述任务执行指令,从集群服务器连接的任务池中捞取待执行任务;根据捞取的待执行任务的数量,从所述集群服务器连接的令牌桶中抢占令牌;根据抢占的令牌的数量确定所述集群服务器的限流量;根据所述限流量,对所述待执行任务进行限流。2.根据权利要求1所述的方法,其中,所述根据捞取的待执行任务的数量,从所述集群服务器连接的令牌桶中抢占令牌之后,如果所述令牌桶中令牌被抢占之前的第一剩余令牌数大于或等于本次需要被抢占的令牌数,则所述令牌桶中令牌被抢占之后的第二剩余令牌数被更新为所述第一剩余令牌数减去本次被抢占的令牌数后获得的差;其中,本次被抢占的令牌数与捞取的待执行任务的数量相同。3.根据权利要求1所述的方法,其中,所述根据捞取的待执行任务的数量,从所述集群服务器连接的令牌桶中抢占令牌之后,如果所述令牌桶中令牌被抢占之前的第一剩余令牌数小于本次需要被抢占的令牌数,则本次被抢占的令牌数为所述第一剩余令牌数,所述令牌桶中令牌被抢占之后的第二剩余令牌数被更新为0。4.根据权利要求1所述的方法,其中,所述根据捞取的待执行任务的数量,从所述集群服务器连接的令牌桶中抢占令牌包括:查询所述集群服务器连接的令牌桶中的第一剩余令牌数,并锁定所述第一剩余令牌数;如果所述第一剩余令牌数大于或等于本次需要抢占的令牌数,则根据捞取的待执行任务的数量,从所述令牌桶中抢占令牌,并解除锁定;其中,本次需要抢占的令牌数与捞取的待执行任务的数量相同。5.根据权利要求4所述的方法,其中,所述从所述令牌桶中抢占令牌之后,所述令牌桶中的第二剩余令牌数被更新为所述第一剩余令牌数减去本次被抢占的令牌数后获得的差。6.根据权利要求4所述的方法,其中,所述锁定所述第一剩余令牌数之后,还包括:如果所述第一剩余令牌数小于本次需要抢占的令牌数,则抢占所述第一剩余令牌数对应的令牌;所述令牌桶中的第二剩余令牌数被更新为0。7.根据权利要求1

6任意一项所述的方法,其中,所述根据抢占的令牌的数量确定所述集群服务器的限流量包括:计算抢占的令牌的数量除以任务执行周期后获得的商,所述商为所述集群服务器的限流量。8.一种分布式集群的限流装置,设置在集群服务器中,所述限流装置包括:接收模块,用于接收任务执行指令;捞取模块,用于响应于所述任务执行指令,从集群服务器连接的任务池中捞取待执行任务;抢占模块,用于根据所述捞取模块捞取的待执行任务的数量,从...

【专利技术属性】
技术研发人员:周文墨
申请(专利权)人:支付宝实验室新加坡有限公司
类型:发明
国别省市:

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

1