经负载均衡器的单条TCP连接是否默认具备会话粘性?
关于TCP/TLS流式连接下EC2负载均衡器的连接绑定问题
是的,当客户端通过TCP/TLS与后端服务器S1建立连接后,在整个连接生命周期内,所有数据包都会持续流向S1,不受EC2中应用型、经典型或网络型负载均衡器类型的影响。断开连接后的新连接会重新参与负载均衡,可能被分配到其他后端服务器(如S2),这完全符合你描述的可接受场景。
不同EC2负载均衡器的具体表现
- 网络型负载均衡器(NLB):工作在OSI第4层(TCP/IP层),会执行DNAT转换。一旦为客户端连接选定
S1,就会在本地连接表中记录客户端四元组(源IP、源端口、目标IP、目标端口)与S1的映射关系,后续属于该连接的所有数据包都会直接转发到S1,直到连接断开。 - 应用型负载均衡器(ALB):虽主打OSI第7层(HTTP/HTTPS)能力,但对于无请求响应概念的TCP/TLS流式协议,它仍会基于TCP连接四元组维护映射关系并执行DNAT。连接建立后,所有流量都会持续发往最初选定的后端服务器,不会中途切换。
- 经典型负载均衡器(CLB):作为EC2早期负载均衡方案,无论处理TCP还是HTTP流量,都会在连接建立后保持后端绑定,通过DNAT确保同一条连接的所有流量始终发往同一台后端服务器。
关于DNAT的核心逻辑
你提到的DNAT机制是所有这类负载均衡器的共性:当客户端发起连接请求时,负载均衡器会从后端池中选定一台服务器(如S1),将自身的目标IP/端口转换为S1的IP/端口,并在本地保存该连接的映射条目。后续所有属于该连接的数据包到达时,负载均衡器会通过四元组匹配找到对应的映射,直接转发到S1,不会重新选择后端,直到连接主动断开或超时终止。
内容的提问来源于stack exchange,提问作者Harry
相关产品推荐
相关产品推荐

