免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 10564 | 回复: 6
打印 上一主题 下一主题

lvs中session会话保持的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-05-19 19:00 |只看该作者 |倒序浏览
在ipvsadm 的用法中,很多文档对于persistent参数是这样说明的。

-p –persistent [timeout]
持久稳固的服务。这个选项的意思是来自同一个客户的多次请求,将被同一台真实的服务器处理。timeout 的默认值为300 秒。


现在不明白的是,“来自同一个客户”该怎么理解呢,是基于IP的客户端还是基于浏览器客户端的Cookie呢,还是都有呢。


有这个疑问的原因是,来自于session会话保持的问题,

lvs中 -p 参数可以指定会话保持时间,而这个会话保持ipvsadm是通过一种什么方式和客户端交互,实现的呢?

按照我的测试和理解,应该是通过浏览器客户端的Cookie来实现会话保持的,


例如:我的调度器是A,realserver有B和C,同时–persistent 设置时间为600秒。调度算法采用rr方式。
当我访问web时,调度器把这个请求分派到了B节点,按照我的理解应该是此后600秒内,在 此客户端进行的操作调度器都会分派到节点B来完成,600秒过后,按照rr调度算法,调度器会把此客户端的请求发到C节点,
可是在我的测试中,600秒以后,调度器有时把请求发送到了C节点,有时仍然发送到B节点,并且发送到B的几率更大,这个web站点只有我一个人在操作,这样的话,就不符合了rr的调度算法。

一点疑问,请大家讨论一下,谢谢!

论坛徽章:
0
2 [报告]
发表于 2007-05-19 19:40 |只看该作者
同时还有一个问题

-p参数让会话保持在了节点B,那么当B宕机以后,按照道理lvs应该将分发到这个节点的请求分发到其他节点,但是由于设置了-p参数,客户端请求会仍然发送到故障节点B,

即使设置"quiescent=no",调度器能够正确的把请求分派到正常节点,那么在原来节点上的session由于不能复制到正常的节点,就丢失了,此时客户端会出现要求重新登陆等的提示,这个怎么处理呢!

论坛徽章:
0
3 [报告]
发表于 2007-05-19 20:07 |只看该作者

回复 #1 exitgogo 的帖子

>>现在不明白的是,“来自同一个客户”该怎么理解呢,是基于IP的客户端还是基于浏览器客户端的Cookie呢,还是都有呢。

应该是基于源地址.其实还有一个参数[-M netmask],它指出源地址的匹配方式
例如 -p 900 -M 255.255.255.0
就是掩码后网络地址相同的请求使用同一个模板
因此10.1.9.8和10.1.9.9两机器同时访问同一个vs就使用同一个模板,即到同一个rs.

论坛徽章:
0
4 [报告]
发表于 2007-05-19 20:28 |只看该作者
>>可是在我的测试中,600秒以后,调度器有时把请求发送到了C节点,有时仍然发送到B节点,并且发送到B的几率更大,这个web站点只有我一个人在操作,这样的话,就不符合了rr的调度算法。

rr算法很简单,它只维护一个指向rs循环队列的指针,如果vs请求调度,rr就把当前指针所指的rs做为本次连接请求的rs,然后后以指针.它并不管什么模板.

论坛徽章:
0
5 [报告]
发表于 2007-05-19 20:35 |只看该作者
>>即使设置"quiescent=no",调度器能够正确的把请求分派到正常节点,那么在原来节点上的session由于不能复制到正常的节点,就丢失了,此时客户端会出现要求重新登陆等的提示,这个怎么处理呢!

可以把session保存到独立的fs,mysql,网络存储上

论坛徽章:
0
6 [报告]
发表于 2007-05-19 20:53 |只看该作者
lvs操作的流程

数据包->vs->查找是否已存在连接

1.存在就根据该连接发包
2.不存在,是新连接,则开始调度

如果vs是普通服务器,则执行调度算法选择一个rs,然后创建连接,然后发送
如果vs是p服务器,则先看看是否有模板可用,如果有,则根据该模板创建连接,然后发包
如果没有模板可用,就执行调度器调度一个rs并创建模板,然后根据该模板创建连接,最后发包

论坛徽章:
0
7 [报告]
发表于 2007-05-19 20:59 |只看该作者
qtdszws 兄解决我偶最近的一些疑惑,再次感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP