-
最近在使用netty作为http客户端通过pool连接tomcat的时候,出现了很多Connection reset by peer 的IOException的异常。便对问题的根源做了细致的调研。
1 连接种类
一般连接主要分为长连接,短连接和http的keepalive连接。
1.1 长连接:建立完连接后,该连接不再进行释放。
优点:性能较高,不需要重复建立tcp连接或者关闭tcp连接
基本上不会出现CLOSE_WAIT和TIME_WAIT的问题
缺点 : 一般需要一个连接池来维护长连接(一般有数据库连接池,http的连接池等) 复杂度较高
1.2 短连接:每次请求均需要tcp三次握手建立连接,业务执行,tcp四次挥手关闭连接。
优点:实现简单。
缺点:性能较差。 大部分都是tcp层面上的交互(新建和关闭tcp连接)
当http连接池遇上keepalive
最新推荐文章于 2025-07-20 11:00:00 发布
本文探讨了HTTP连接池、长连接、短连接和HTTP keepalive的概念,详细解释了TCP的keepalive机制,并分析了Tomcat8对HTTP keepalive的实现。在遇到"Connection reset by peer"异常时,指出了连接池如何处理keepalive连接,以及异常场景的分析,强调了检查并及时关闭已关闭连接的重要性。

最低0.47元/天 解锁文章
2277

被折叠的 条评论
为什么被折叠?



