有没有办法配置Tomcat在特定阈值数后拒绝请求?例如。 506请求开始拒绝后。
有这样的选择还是我应该为此编写代码?
答案 0 :(得分:3)
Tomcat的连接器可以配置为仅同时处理一定数量的请求 - 这些请求被配置为maxConnections
中<Connector>
的{{1}}属性。 (您也可以配置server.xml
,但这实际上是操作系统在达到acceptCount
后保持堆积的连接队列。这限制了跨所有URL 的Tomcat 的同时连接 - 也就是说,它只是限制的总连接。
如果要限制与特定URL (或此类URL的特定URL)的同时连接数,则可能必须编写自己的代码。我听说Spring Security有很多这样的QOS(服务质量)功能,你可以在不编写自己的代码的情况下使用它。
否则,您将被迫编写自己的代码 - 可能是maxConnections
,它只是跟踪正在进行的请求数量,然后拒绝在达到某个限制后进入的请求。注意跨线程使用的计数器的同步问题。