容器云问题1:容器云spring boot应用TCP连接释放问题:Keep-Alive

容器云问题1:容器云spring boot应用TCP连接释放问题:Keep-Alive

在容器云环境中,会存在容器应用TCP连接复用,因为容器的端口资源需要进行有效的释放和复用,因此容器底层实际上已经释放了这个连接。我的spring boot应用中使用的是apache httpclient框架。一般完整的一次http交互,3次握手建立连接,4次握手关闭链接。

1.1持久连接

Web 客户端经常会打开到同一个站点的连接。比如,一个Web 页面上的大部分内嵌图片通常都来自同一个Web 站点,而且相当一部分指向其他对象的超链通常都指向同一个站点。因此,初始化了对某服务器HTTP 请求的应用程序很可能会在不久的将来对那台服务器发起更多的请求(比如,获取在线图片)。这种性质被称为站点局部性(site locality)。

HTTP/1.1(以及HTTP/1.0 的各种增强版本) 允许HTTP 设备在事务处理结束之后将TCP 连接保持在打开状态,以便为未来的HTTP 请求重用现存的连接。在事务处理结束之后仍然保持在打开状态的TCP 连接被称为持久连接。非持久连接会在每个事务结束之后关闭。持久连接会在不同事务之间保持打开状态,直到客户端或服务器决定将其关闭为止。

重用已对目标服务器打开的空闲持久连接,就可以避开缓慢的连接建立阶段。而且,已经打开的连接还可以避免慢启动的拥塞适应阶段,以便更快速地进行数据的传输。目前,各种Http请求框架默认是打开keep-alive,以提高连接性能。

1.1.1 HTTP/1.0的持久连接

在 HTTP/1.0 中,keep-alive 并 不 是 默 认 使 用 的。 客 户 端 必 须 发 送 一 个Connection: Keep-Alive 请求首部来激活keep-alive 连接。虽然,目前keep-alive 已经不再使用了,而且在当前的HTTP/1.1 规范中也没有对它的说明了。但浏览器和服务器对keep-alive 握手的使用仍然相当广泛,因此

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝亦

感谢博主辛勤的付出

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值