问题标签 [bucket4j]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
35 浏览

java - bucket4j 的 JCache 集成引发 NullPointerException

我正在尝试在春季启动 web 应用程序中遵循使用 bucket4j(速率限制)的jcache(ehcache)使用示例。

这是我特别关注的示例 3,它参考了:

可以预见(每次我接近一个弹簧示例时都会发生这种情况)这是空的,并且在@Component org.springframework.web.servlet.HandlerInterceptor 稍后引用时会在 a 中抛出一个 NPE。我不知道为什么,我不知道预计会有什么配置,我不知道如何调试它。

我有一个ehcache.xml

以及以下行application.properties

有什么建议么?谢谢。

0 投票
1 回答
49 浏览

spring-webflux - 在 Spring WebTestClient 中有多个请求 IP

我在我的 Spring Web 应用程序中引入了 Bucket4J。可以在此处找到基本测试设置:

Bucket4J 提供基于 IP 的速率限制 - 因此每个 IP 都有自己的令牌池。这可以通过添加expression: "getRemoteAddress()"到配置来完成:

我很难弄清楚如何以编程方式测试是否filter by IP有效。

单个 IP 的测试如下所示:

验证多个 IP/IP 速率限制的行为的测试应该是什么样的?
FAILS with status code 429 if rate limit * for IP * is exceeded

0 投票
0 回答
12 浏览

java - Spring boot:如何使用 Bucket4j 处理每个令牌的重新填充请求

我正在使用 Bucket4j,我想处理每个令牌的总请求并发

我试过这个,但它并不完全符合我的预期。

桶将每 5 秒重新填充 10 个请求,但我希望它在来自该令牌的所有 10 个请求完成时重新填充(必须完成之前的 10 个请求)。我怎么能这样做?

0 投票
0 回答
10 浏览

spring-boot - bucket4j 中的 IP 白名单

我在我的spring boot应用程序中使用bucket4j来防止DOS攻击,如果一个ip在一分钟内发出大量请求,它就会被阻止。我为此使用以下配置

但是有一个 IP 实际上应该进行很多调用。我怎样才能将该IP列入白名单?