波斯马BOSSMA Information Technology

限流 下的日志

.NET6运行时动态更新限流阈值

发布时间:2021年11月16日 / 分类:ASP.NET, DOTNET / 抢沙发

自FireflySoft.RateLimit发布以来,帮助了不少需要在.net中进行限流处理的用户。前段时间有个开发者发了一个pull request,大意是Redis重启的时候Lua script会丢失,但是程序中还认为它存在,所以就会一直抛出异常,那位同学通过捕捉一个特定异常再reload Lua script的方式解...

ASP.NET Core中使用令牌桶限流

发布时间:2021年4月14日 / 分类:ASP.NET, DOTNET / 抢沙发

在限流时一般会限制每秒或每分钟的请求数,简单点一般会采用计数器算法,这种算法实现相对简单,也很高效,但是无法应对瞬时的突发流量。 比如限流每秒100次请求,绝大多数的时间里都不会超过这个数,但是偶尔某一秒钟会达到120次请求,接着很快又会恢复正常,假设这种突发...

ASP.NET Core中如何对不同类型的用户进行区别限流

发布时间:2021年2月19日 / 分类:DOTNET / 抢沙发

老板提出了一个新需求,从某某天起,免费用户每天只能查询100次,收费用户100W次。 这是一个限流问题,聪明的你也一定想到了如何去做:记录用户每一天的查询次数,然后根据当前用户的类型使用不同的数字做比较,超过指定的数字就返回错误。 嗯,原理就是这么简单。不过...

FireflySoft.RateLimit使用与原理

发布时间:2021年1月24日 / 分类:DOTNET / 抢沙发

限流一般是为了解决因拥挤导致服务无法正常提供的问题。比如常见的地铁限流,如果很多人在很短的时间内快速涌入,超出站台内的空间或列车的可运载人数,就会容易引发安全事故。 在github上使用C#编写的限流程序有很多,翻看了一些,大部分都有很多的场景限制,比如只能用在...