ASP.NET Core对不同类型的用户进行区别限流详解
前言老板提出了一个新需求,从某某天起,免费用户每天只能查询100次,收费用户100W次。这是一个限流问题,聪明的你也一定想到了如何去做:记录用户每一天的查询次数,然后根据当前用户的类型使用不同的数字做比较,超过指定的数字就返回错误。嗯,原理就是这么简单。不过真正写起来还要考虑更多问题:。这里有两个比较有意思的设置:ExtractTarget和CheckRuleMatching,他们共同作用,让用户可以完全自由的定制自己限流的目标和条件,无论是IP、ClientId或者Url。对于分布式应用,也建议使用Redis存储。限流统计数据会根据限流时间窗口自动过期移除。如果想在这个程序的基础上再改造下,可以fork这个项目:总结
下载地址
用户评论