打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
关于Lvs调度策略的深入研究
转自:http://learnbank.blog.163.com/blog/static/128699237201212723838291/

Lvs基本问题:

在ipvsadm 的用法中,很多文档对于persistent参数是这样说明的。
-p –persistent [timeout]
持久稳固的服务。这个选项的意思是来自同一个客户的多次请求,将被同一台真实的服务器处理。timeout 的默认值为300 秒。

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

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

即使设置"quiescent=yes",调度器能够正确的把请求分派到正常节点,那么在原来节点上的session由于不能复制到正常的节点,就丢失了,此时客户端会出现要求重新登陆等的提示, 此时可以把session保存到独立的fs,mysql,网络存储上。

Lvs连接算法:

对于配置了p的vs,系统在建立新连接例如<x:1234,y:80>前,先调度并创建一个连接模板例 如<x:0,y:0,z:0>,该连接模板的超时时间为p的参数,例如900s,然后再根据模板创建本次可用的连接,例 如<x:1234,y:80,z:80>,这样数据就都从该连接过。如果紧接着又有<x:1235,y:443>的新请求,vs 则会寻找找模板,如果找到,就不重新schedule,而是根据该模板提供的rs创建真实连接<x:1235,y:443,z:443>,并 同时reset该模板的超时时间,即又重置到900s.

1.模板其实也是一个连接,不过比较特别罢了,ipvsadm -Lcn应该能看到
2.连接的超时时间就是p的参数,如果该模板被重用,超时时间就被重设。
如果用户的每次的http请求不超过超时时间,则用户的请求都根据模板发往固定的rs。

lvs操作的流程

数据包->vs->查找是否已存在连接
1.存在就根据该连接发包
2.不存在,是新连接,则开始调度

如果vs是普通服务器,则执行调度算法选择一个rs,然后创建连接,然后发送
如果vs是p服务器(设置了-p –persistent参数的DR服务器),则先看看是否有模板可用,如果有,则根据该模板创建连接,然后发包。
如果没有模板可用,就执行调度器调度到一个rs并创建模板,然后根据该模板创建连接,最后发包。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
LVS负载均衡简介
LVS负载均衡原理和算法详解
LVS三种工作模式、十种调度算法介绍
如何通俗易懂的讲解LVS三种工作模式?
使用haproxy搭建web集群
LVS解决高并发,大数据量
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服