在 Java 中实现请求限制的任何开箱即用的方法?

Posted

技术标签:

【中文标题】在 Java 中实现请求限制的任何开箱即用的方法?【英文标题】:Any out-of-box methods to implement request throttling in Java? 【发布时间】:2014-01-29 15:14:18 【问题描述】:

Java 应用程序服务器(即 Weblogic 或 JBoss)或负载均衡器(即 F5)中是否有内置方法或功能来启用和配置我的应用程序的 HTTP 请求限制?

假设我有一个 Java Web 应用程序,其中没有实现任何限制算法。我想添加一个节流功能,将请求数限制为每 M 秒 N。一种可能的方法是使用具有此类请求限制能力的外部(对我的 Java 应用程序)工具。

我发现的只是在我的应用程序中实现自己的节流机制。

部分相似的问题:

throttling http api calls with delay Throttling method calls to M requests in N seconds Best way to implement request throttling in ASP.NET MVC?

【问题讨论】:

我会检查 haproxy 是否能够做到这一点。 【参考方案1】:

我不能代表 JBoss,但如果您将 Web 服务设置为代理/业务,Oracle 服务总线(weblogic 的可选插件)当然可以进行节流:

关于节流:

https://blogs.oracle.com/knutvatsendvik/entry/throttling_in_osb

安装 OSB:

http://docs.oracle.com/cd/E14571_01/doc.1111/e15017/apm.htm

【讨论】:

谢谢,Oracle Service Bus 似乎是答案,我会深入调查。

以上是关于在 Java 中实现请求限制的任何开箱即用的方法?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Java EE 环境中实现请求限制?

如何在 laravel 5.1 中实现“记住我”?

C#在拖放时在ListView中实现自动滚动

开箱即用的性能分析工具pinpoint

Structuremap 是不是支持开箱即用的 Lazy?

使用开箱即用的 SPDY 运行 Jetty