如何评价限制命中Tomcat应用程序?

我们从Apache 2.2 + mod_proxy_ajp + Tomcat 6提供了一个Java应用程序,这是一个REST API,最终用户倾向于尽可能快地完成它的速度。 我希望能够每秒扼杀命中,理想的用户/ IP,它。 就像Amazon,Twitter等速率限制对他们的API的命中一样。

  1. 最好在Apache或Tomcat本身,但在操作系统(Fedora)是好的,虽然我不想影响在同一个盒子上的其他Tomcat应用程序(所以只是做端口80上的iptables不是最好的解决scheme)
  2. 我不想限制带宽 ,这个应用程序不会产生超过1k每次命中的输出,只是应用程序点击的原始数量,以防止Tomcat被压倒
  3. 我在亚马逊AWS EC2上运行,因此没有多个IP或其他复杂的networking解决scheme
  4. 我可以告诉开发者把他们的代码放在解决scheme中,但是我想可以从pipe理angular度来控制它(比如我可以使用log4jconfiguration文件更改日志级别)。

看起来像所有的Apache模块做这样的东西都被遗弃,而不是Apache 2.2兼容。 想法?

看看mod_limitipconn2,它可能是你在之后:

http://dominia.org/djao/limitipconn2.html

这将允许您将其限制为每IP一个连接,有效地将用户的浏览器转换为同步连接,而不是打开通常的4-6(默认为Firefox)。