api速率限制

u5rb5r59  于 2021-07-18  发布在  Java
关注(0)|答案(0)|浏览(179)

我用bucket4j库实现了api的速率限制。每个用户每小时只允许200个请求。一切正常。

Bandwidth limit = Bandwidth.simple(200, Duration.ofMinutes(60));
return Bucket4j.builder().addLimit(limit).build();

但每当服务器在这两者之间重新启动时,就会重新创建bucket。所以用户允许再做200个请求。例如,我在30分钟内消耗了200个请求,我正在重新启动服务器,所以我又得到了200个可用的请求。我的意思是,我能够访问n倍的api与重新启动我的服务器。
这是意料之中的。有没有办法将这些值存储到数据库中?所以这就是坚持。bucket4j有连接db的功能吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题