我在Web应用程序中有一个服务方法,它调用另一个第三方Web服务来获取数据。他们限制每秒发送最多一个呼叫。 如何在我的方法中限制命中率。有某种排队的解决方案会很棒。 我正在使用java和spring框架。
答案 0 :(得分:1)
一个简单的解决方案是使用Google Guava库并使用RateLimiter
[...]速率限制器以可配置的速率分配许可证。如果需要,每个acquire()都会阻塞,直到有许可证为止[...]速率限制器通常用于限制访问某些物理或逻辑资源的速率
有一篇很好的帖子描述了它的用法 - RateLimiter - Discovering Google Guava。