会话保持可使得来自同一 IP 的请求被转发到同一台后端服务器上。默认情况下,负载均衡会将每个请求分别路由到不同后端服务器实例负载。但是,您可以使用会话保持功能使特定用户的请求被路由到同一台后端服务器实例上,这样可以使某些需要保持会话的应用程序(如购物车)合理地工作。
四层协议(TCP/UDP)支持基于源 IP 的会话保持能力,会话保持时间可设为30 - 3600秒中的任意整数值,超过该时间阈值,会话中无新请求则断开连接,会话保持与均衡方式相关:
七层协议(HTTP/HTTPS)支持基于 Cookie 插入的会话保持能力(由负载均衡器向客户端植入 Cookie),会话保持时间设置支持30 - 3600秒,会话保持与均衡方式相关:
当前 HTTP 连接超时时间(keepalive_timeout)默认为75秒,如需调整请开通 个性化配置。超过该时间阈值,会话中无数据传输则断开连接。
当前 TCP 连接的超时时间暂时不支持调整,默认为900秒。超过该时间阈值,会话中无数据传输则断开连接。
假设 Client 端访问是 HTTP/1.1 协议,头部信息中设置 Connection:keep-alive。通过 CLB,再访问到后端 CVM,此时不开会话保持,下一次访问,能否访问到同一台 CVM?
答:不能。
首先,HTTP keep-alive 是指 TCP 连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了带宽。CLB 集群的默认超时时间是75秒(75秒内无新请求刷新,则默认断开 TCP 连接)。
HTTP keep-alive 是由 Client 端跟 CLB 建立的,若此时没有开启 Cookie 会话保持,则下一次访问,CLB 会根据轮询策略,随机挑选后端的一台CVM,此前的长连接等于白费了。
因此建议开启会话保持。
当设置 Cookie 会话保持的时间为1000秒时,Client 端再次发起请求。由于距离上一次请求,已经超过了75秒,TCP的连接要重新建立。应用层判断 Cookie,找到同一台 CVM,Client 访问的 CVM 还是上一次访问的那一台。
假设 Client 端发起访问,传输层协议是 TCP,启用长连接。但没有开基于源 IP 的会话保持。下一次访问,同一个 Client,能否访问到同一个机器?
答:不一定。
首先,根据四层的实现机制,当 TCP 启用长连接时,如果该长连接一直没有断开,前后两次访问都是同一条连接,则可以访问到同一台机器。如果第二次访问时,第一条连接由于其他原因(网络重启、连接超时)被释放,这时第二次访问就有可能调度到其他后端云服务器上,且长连接默认全局的超时时间是900秒,即若没有新请求,则释放。
网站实名认证后怎么解析 域名 ?域名的解析方法整体上来说,大同小异。下面以主...
ESXi是广为人知的商业虚拟化软件,只有少部分高级UPS才能适配这种企业级软件,普...
公司简介 广州市藏星网络科技有限公司的主要产品是移动互联网应用“上学帮”,产...
往期精选合集包 戳我前往 囊括了 架构师、 Serverless 、AIoT、DevOps、容器化、...
1. 接口描述 接口请求域名: as.tencentcloudapi.com 。 本接口(DescribePaiIns...
本文档将为您展示可能导致 Pod 一直处于 Terminating 状态的几种情形,以及如何...
黑石竞价实例是腾讯云将空闲计算资源以低折扣售卖,并且在计算资源不足或者出价...
哈希表是个啥? 小白:庆哥,什么是哈希表?这个哈希好熟悉,记得好像有HashMap和H...
本期导读 【OSS 访问加速】第八讲 主题 Flume 高效写入 OSS 讲师 焱冰 阿里巴巴...
调用DescribePolicyGroups查询策略的详细信息。 调试 您可以在OpenAPI Explorer...