ASP.NET Core中使用令牌桶限流的实现
在限流时一般会限制每秒或每分钟的请求数,简单点一般会采用计数器算法,这种算法实现相对简单,也很高效,但是无法应对瞬时的突发流量。这就是令牌桶算法的用武之地。可以看出对于令牌桶算法X、Y、Z这几个数的设定特别重要,Z应该略大于绝大数时候的Y单位时间内的请求数,系统会长期处于这个状态,X可以是系统允许承载的瞬时最大请求数,系统不能长时间处于这个状态。这里介绍一个ASP.NET Core的中间件来满足令牌桶限流需求: FireflySoft.RateLimit.AspNetCore 。使用步骤如下:1、安装Nuget包有多种安装方式,选择自己喜欢的就行了。注册服务的时候需要提供限流算法和对应的规则:
下载地址
用户评论