java.net.SocketException : Connection reset - Between a client and server deployed as webapps in tomcat 异常

标签 java sockets tomcat freeze connection-timeout

我在服务器 1 和服务器 2 上部署了一个 java 网关应用程序作为 tomcat web 应用程序,它们是面向客户端的负载平衡服务器。

此应用程序与部署在服务器 3 和 4 上的另一个网络应用程序通信,这两个应用程序也是负载平衡的。

在高流量期间或从应用程序(服务器 3 和 4)到后端核心系统的连接失败时,网关应用程序会记录“java.net.SocketException:连接重置”。

对于 10 个请求,有几个请求在客户端服务器上给出“连接重置”。发生这种情况时,服务器端应用程序绝对没有问题。有时,当出现更多故障时,应用程序(服务器 3 和 4)会挂起并且需要重新启动。

如有任何意见,我们将不胜感激。在此先致谢。

最佳答案

在对我们的应用程序进行性能测试后,结果显示在多个并发请求之后,应用程序停止创建 HttpClient 对象。

我最终使用了“ClientConnectionPoolManager”。(维护一个 HttpClientConnections 池,并能够为来自多个执行线程的连接请求提供服务。连接在每个路由的基础上进行汇集。管理器已经具有持久连接的路由请求池中可用的服务将通过从池中租用连接而不是创建全新连接来提供服务),这似乎可以有效地管理连接。

谢谢。

关于java.net.SocketException : Connection reset - Between a client and server deployed as webapps in tomcat 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50574949/

相关文章:

java - 无法连接到 Tomcat 应用程序中的 Derby 数据库

maven - tomcat dbcp 和 NamingException

java - 如何使用 wireshark 解密服务以服务 SSL 流量?

java - Eclipse - 添加 module-info.java 时未找到模块

java - 在 Web 服务中调用 getUserPrincipal() 返回匿名

java - 如何将字符串数组定义为上下文文件中的环境参数/变量?

java - 我将哪种类型的数组发送给构造函数?

c - 套接字编程头文件中使用的一段代码的解释

java - 如何编写 'addToRightMostChildAsLeftChild(Node a,Node b)'的代码?

Linux:如何强制使用特定的网络接口(interface)?