关于Lvs调度策略的深入研究

简介:

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并创建模板,然后根据该模板创建连接,最后发包。












本文转自南非蚂蚁51CTO博客,原文链接:http://blog.51cto.com/ixdba/530711,如需转载请自行联系原作者


相关文章
|
11月前
|
负载均衡 网络协议 算法
LVS负载均衡(三种工作模式、原理、实验)
LVS负载均衡(三种工作模式、原理、实验)
382 0
|
负载均衡 网络协议 网络架构
负载均衡 LVS 工作模型(二)|学习笔记
快速学习负载均衡 LVS 工作模型
61 0
负载均衡 LVS 工作模型(二)|学习笔记
|
负载均衡 网络协议 前端开发
负载均衡 LVS 工作模型(三)|学习笔记
快速学习负载均衡 LVS 工作模型
114 0
负载均衡 LVS 工作模型(三)|学习笔记
|
分布式计算 负载均衡 算法
负载均衡 LVS 工作模型(一)|学习笔记
快速学习负载均衡 LVS 工作模型
137 0
|
负载均衡 算法 调度
负载均衡集群LVS调度算法实战(三)|学习笔记
快速学习负载均衡集群LVS调度算法实战
87 0
负载均衡集群LVS调度算法实战(三)|学习笔记
|
存储 缓存 负载均衡
负载均衡集群LVS调度算法实战(二)|学习笔记
快速学习负载均衡集群LVS调度算法实战
102 0
负载均衡集群LVS调度算法实战(二)|学习笔记
|
负载均衡 网络协议 算法
负载均衡集群 LVS 调度算法实战(一)|学习笔记
快速学习负载均衡集群 LVS 调度算法实战
108 0
负载均衡集群 LVS 调度算法实战(一)|学习笔记
|
分布式计算 负载均衡 网络协议
负载均衡LVS工作模型
一、集群概念 二、LVS介绍 三、Lvs集群的类型 四、几种常见的lvs集群模式
负载均衡LVS工作模型
|
存储 Kubernetes 算法
K8S原理剖析:调度器原理剖析和实践
K8S原理剖析:调度器原理剖析和实践
440 0
K8S原理剖析:调度器原理剖析和实践
|
负载均衡 容灾 网络协议
从一个开发的角度看负载均衡和LVS
在大规模互联网应用中,负载均衡设备是必不可少的一个节点,源于互联网应用的高并发和大流量的冲击压力,我们通常会在服务端部署多个无状态的应用服务器和若干有状态的存储服务器(数据库、缓存等等)。 一、负载均衡的作用 负载均衡设备的任务就是作为应用服务器流量的入口,挑选最合适的一台服务器,将客户端的请求转发给它处理,实现客户端到真实服务端的透明转发。
12744 0