keepalived persistence_timeout参数意义 LVS Persistence 参数的作用
persistence_timeout 300 单位秒
这个参数的意义是保持客户端的请求在这个时间段内全部发到同一个真实服务器。
正常情况下LVS会保证同一个TCP链接数据包会发往同一个真实服务器。
例如:(192.168.80.1:49165 192.168.80.120:8080 192.168.80.136:8080)LVS会记录这个TCP链接的【原IP与端口,目标IP与端口】,后续的数据包会发送到192.168.80.136:8080。
但是如果设置了persistence_timeout那么在这个时间段内,当前IP地址下所有的TCP链接数据包都会被发送到同一个真实服务器。假设客户端使用5个端口 建立了5个TCP链接,那么这5个链接会被发往相同的后端服务器,反之亦然。
我们使用命令查看IPVS的规则,可以看到-p 300 已经被设置进去了。
[root@bogon ~]# ipvsadm -S -n
-A -t 192.168.80.120:8080 -s rr -p 300
-a -t 192.168.80.120:8080 -r 192.168.80.135:8080 -i -w 1
-a -t 192.168.80.120:8080 -r 192.168.80.136:8080 -i -w 1
然后客户端请求LVS服务器。我们通过ipvsadm -L -n -c命令查看转发规则。发现所有的TCP链接都指向了一个后端服务器。
我们注意看(TCP 02:36 NONE 192.168.80.1:0 192.168.80.120:8080 192.168.80.136:8080)
就是它记录这当前客户端的IP地址,这样无论后续多少TCP请求都会被发到同一个后端服务器。
TCP 00:16 FIN_WAIT 192.168.80.1:49165 192.168.80.120:8080 192.168.80.136:8080
TCP 00:16 FIN_WAIT 192.168.80.1:49168 192.168.80.120:8080 192.168.80.136:8080
TCP 00:16 FIN_WAIT 192.168.80.1:49169 192.168.80.120:8080 192.168.80.136:8080
TCP 02:36 NONE 192.168.80.1:0 192.168.80.120:8080 192.168.80.136:8080
TCP 00:16 FIN_WAIT 192.168.80.1:49167 192.168.80.120:8080 192.168.80.136:8080
TCP 00:16 FIN_WAIT 192.168.80.1:49170 192.168.80.120:8080 192.168.80.136:8080
为什么要这么做?是因为:
官方解释:http://www.linuxvirtualserver.org/docs/persistence.html
我翻译了一部分。
有些Web服务可能用到HTTP Cookie,它是将数据存储在客户的浏览器来追踪和标识客户的机制。使用HTTP Cookie后,来同一客户的不同连接存在相关性,这些连接必须被发送到同一Web服务器。一些Web服务使用安全的HTTPS协议,它是HTTP协议加 SSL(Secure Socket Layer)协议。另有些Web服务可能使用安全的HTTPS协议,它是HTTP协议加SSL协议。当客户访问HTTPS服务(HTTPS的缺省端口为 443)时,会先建立一个SSL连接,来交换对称公钥加密的证书并协商一个SSL Key,来加密以后的会
话。在SSL Key的生命周期内,后续的所有HTTPS连接都使用这个SSL Key,所以同一客户的不同HTTPS连接也存在相关性。针对这些需要,IPVS调度器提供了持久服务的功能,它可以使得在设定的时间内,来自同一IP地 址的不同连接会被发送到集群中同一个服务器结点,可以很好地解决客户连接的相关性问题。
keepalived persistence_timeout参数意义 LVS Persistence 参数的作用相关推荐
- Redis运维和开发学习笔记(4) Redis参数意义
Redis运维和开发学习笔记(4) Redis参数意义 文章目录 Redis运维和开发学习笔记(4) Redis参数意义 参数意义 参数意义 Client连接 问题 id=567800790 addr ...
- CMake中的ARGC ARGV 和ARGN参数意义
编写或者查看一些开源cmake文件中经常遇到在宏(macro)和函数中经常会遇到ARGC ARGV 和ARGN等参数,该参数为cmake中专用变量,分别表示宏或者函数参数中的特殊意义. ARGC AR ...
- 设置linearlayout最大高度_ICEM CFD网格设置参数意义
线下工程实例专题计划 (2019年10月-2020年1月) ICEM CFD网格设置参数意义 一般来说,线和边单位参数设置,Height.Height Ratio和层数是常用的3个参数.如果只设置了层 ...
- LVM 的自定义报告(pvs vgs lvs各参数详解)
可使用 pvs.lvs 和 vgs 命令生成简洁且可自定义的 LVM 对象报告.这些命令生成的报告包括每行一个对象的输出结果.每行包含与该对象有关的属性字段顺序列表.有五种方法可用来选择要报告的对象: ...
- 【Plaxis2D学习笔记:土体参数意义及设置】
Plaxis2D地基参数设置及对应整理 看懂土体力学参数表 专业土体力学参数表如下: 对应参数主要看参数图下注释方格: Plaxis进入土体参数设置 首先打开界面,找到右上角的土体,点击修改土层进入地 ...
- Matlab pwelch函数参数意义
Matlab pwelch函数参数意义 该函数常用形式为[pxx,f] = pwelch(x,window,noverlap,nfft,fs). 其中x为输入信号,window为窗口类型,noverl ...
- 4. 详解 IPSec 配置参数意义
转者注: 此篇转载博文:strongswan配置使用(一):转载者仅限于调整条码编号,和个人理解补充描述:如有不妥之处.请读者阅读原文. (1) IPSec 配置文件结构说明 ipsec.conf / ...
- Go 学习笔记(15)— 函数(01)[函数定义、函数特点、多值返回、实参形参、变长参数,函数作为参数调用]
1. 函数定义 Go 语言最少有个 main() 函数.函数声明告诉了编译器函数的名称,返回类型和参数. func funcName(parameter_list)(result_list) {fun ...
- java 虚拟机 参数_Java虚拟机的参数
转载自:http://blog.csdn.net/shiyong1949/article/details/52538151 版权声明:本文由施勇原创,转载请注明作者和出处! 堆设置 -server:一 ...
最新文章
- Ubuntu系统安装搜狗输入法详细教程
- Android图片处理
- Windows和Ubuntu系统之间文件相互复制粘贴
- 用python读取图像_Python读取图片属性信息的实现方法
- java安全沙箱(一)之ClassLoader双亲委派机制
- linux 编译报错 not a directory,Linux常见英文报错中文翻译
- mysql安装版和解压版哪个好_红米k30pro变焦版和荣耀30pro哪个好-哪个更值得入手...
- [bash] 打包某目录(可以是绝对路径)下的指定扩展名的文件
- lvs-健康检查方式
- C语言变量未赋初值时,输出为乱七八糟解释
- linux 755 777是什么权限,linux系统下644、755、777权限详解
- CentOS 7.6 配置VNC远程访问服务器图形界面
- Linux常用命令(超详细)
- 载波为半波三角波的单相三阶SPWM逆变器——谐波分析
- diff制作patch补丁
- 企业办公3D指纹考勤系统解决方案
- canvas设置lineWidth属性,出现线条被fill覆盖问题。
- 程序员的十楼层,看看自己在第几层
- ipa文件如何下载安装OR如何设置IPA文件下载链接
- eclipse IED的优化(gc.log)