LVS -- 持久链接(Persistent Connection)实现会话粘滞

  • 持久链接 (Persistent Connection):LVS 的一种特性,用于在一段时间内将来自同一源 IP 的所有请求绑定到同一台后端 RS,以维持会话。

  • 会话粘滞 (Session Sticky):也叫会话保持,指将同一用户的多次请求路由到同一台服务器,以维护用户的会话状态。

一.概述

1.1 原理

LVS 持久链接通过在 Director 上维护一个内存中的连接表来实现会话粘滞。

· 记录调度信息:当一个新的客户端(源 IP)首次访问 VIP 时,LVS 根据调度算法(如 rr)将其分配到一台 RS,并记录下这个映射关系。

· 超时重定向:在指定的超时时间(默认 360 秒)内,该客户端的所有后续请求,LVS 都会查找连接表,强制将其再次调度到同一台 RS 上,确保会话不中断。超时后,映射关系失效,新的请求会重新进行调度。

1.2 目的

在 DR 模式下,确保来自同一客户端的一系列相关请求在一段时间内被持续路由到同一台后端服务器,从而维持会话状态,提升用户体验和业务逻辑的完整性。

1.3 适用场景

电商网站的购物车、用户登录状态等需要服务器端存储会话信息的场景。

表单提交、文件上传等需要连续交互的操作,防止因切换 RS 导致数据丢失。

二. 环境设定

2.1 环境流程图

2.2 实验环境

2.3 环境配置

完整环境设定方法已整理并发布到CSDN以下链接中,若需要可跳转查看

https://blog.csdn.net/2401_84184229/article/details/157652660

三. 实现方法

3.1 在rs主机中同时开始http和https两种协议

在RS1中

复制代码
[root@RS1 ~]# dnf install mod_ssl -y
[root@RS1 ~]# systemctl restart httpd

在RS2中

复制代码
[root@RS2 ~]# dnf install mod_ssl -y
[root@RS2 ~]# systemctl restart httpd

3.2 设定ipvs调度策略

复制代码
[root@vsnode ~]# ipvsadm -A -f 6666 -s rr -p 1
#使用 -A 选项重新创建虚拟服务,并通过 -p 1 选项指定持久化超时时间为 1 秒
[root@vsnode ~]# ipvsadm -a -f 6666 -r 192.168.221.10 -g
#将后端真实服务器重新添加到该虚拟服务中。
[root@vsnode ~]# ipvsadm -a -f 6666 -r 192.168.221.20 -g
[root@vsnode ~]# ipvsadm -Ln

3.3 测试

复制代码
[root@client ~]# curl 192.168.221.200
RS2 - 192.168.221.20
[root@client ~]# curl 192.168.221.200
RS2 - 192.168.221.20

观察:

新开一个vsnode会话:

复制代码
[root@vsnode ~]# watch -n 1 ipvsadm -Lnc

四. 结论

LVS 持久链接通过在 Director 上维护一个基于源 IP 的连接映射表,在指定的超时时间内实现了会话粘滞。相较于简单的源地址哈希(sh)调度算法,它更加灵活,通过超时机制避免了客户端与 RS 的长期绑定,从而防止了负载均衡器的负载失衡。在 DR 模式下,持久链接是处理有状态应用的关键技术,它在保证高性能转发的同时,有效解决了会话一致性问题,是构建可靠、稳定的 Web 服务集群的重要保障。

相关推荐
dashizhi20151 分钟前
服务器共享禁止保存到本地磁盘、共享文件禁止另存为本地磁盘、移动硬盘等
运维·网络·stm32·安全·电脑
卷福同学36 分钟前
【养虾日记】QClaw操作浏览器自动化发文
运维·人工智能·程序人生·自动化
woho7788991 小时前
不同网段IP的网络打印机,打印、扫描设置
运维·服务器·网络
耗子会飞2 小时前
小白学习固定VM虚拟机的centos服务器的IP
运维·服务器·centos
门豪杰2 小时前
Ubuntu下安装Claude Code
linux·运维·ubuntu·claude·claude code
新新学长搞科研3 小时前
第五届电子、集成电路与通信技术国际学术会议(EICCT 2026)
运维·人工智能·自动化·集成测试·信号处理·集成学习·电气自动化
桌面运维家3 小时前
Windows/Linux双启动:BIOS/UEFI多配置桌面创建指南
linux·运维·windows
無法複制3 小时前
debian安装Postgresql-14.x
运维·postgresql·debian
阿达_优阅达3 小时前
告别手工对账:xSuite 如何帮助 SAP 企业实现财务全流程自动化?
服务器·数据库·人工智能·自动化·sap·企业数字化转型·xsuite
IMPYLH3 小时前
Linux 的 chroot 命令
linux·运维·服务器