连接过多后,通过Apache Server的Tomcat关闭

时间:2019-06-22 05:43:02

标签: apache2 tomcat7 ddos ajp

我有一个Apache(2.4)服务器,该服务器通过Tomcat 7服务器上的AJP连接器提供内容。

我的一个客户端在与JSP JSON Api服务运行太多并发连接后设法杀死了tomcat实例。 (Apache仍然有效,但是tomcat失败了。重新启动Tomcat使其恢复)。tomcats日志中没有错误。

我想保护网站免于那样倒塌,但是我不确定要更改哪些配置。

我不想限制并发连接的数量,因为有合法的用例,

我的Tomcat内存设置为:
初始内存池:1280MB
最大内存池:2560MB
我以为很多。

值得一提的是,API服务依赖于多个可能很重的MySQL连接。

任何建议将不胜感激。

2 个答案:

答案 0 :(得分:1)

为什么不慢慢将最常用/最重要的应用程序功能切换到microservices体系结构和dockerize您的tomcat服务器,以便能够管理您的应用程序的多个实例。希望这将有助于您的应用程序管理多个连接,而不会影响工作中服务器的整体性能。

答案 1 :(得分:0)

如果您要讨论扩展,则需要对多台tomcat服务器进行水平扩展。

如果您不能限制用户连接并且仍然希望应用程序运行平稳,则需要扩展。可以选择对微服务进行体系结构更改,但对于生产解决方案而言可能并非总是可能的。

最好考虑的是运行多个要分担负载的tomcat。有多种方法可以做到这一点。在您的技术堆栈中,我认为将Apache 2负载平衡器插件与Tomcat结合使用效果最佳。

有一个example here

现在,关于服务器容量,数据库连接容量等,您可能还需要考虑垂直扩展。