LVS的工作原理和相关算法
外再加一层IP
隧道目的: 隐藏意图,通过转换来(ip套ip)隐藏目的 特征: 1.集群节点和Director不必在同一个网络 2.RIP使用公网地址 3.Director只需要处理进来的请求,不需要处理出去的请求 4.响应的请求一定不能经过Direcor. 5.Directory不支持端口映射 6.只能使用那些支持IP 隧道协议的操作系统做realserver 优点:LVS-TUN可以实现基于网络的集群,这样就脱离了LVS-DR的realserver之间的距离限制. ===============================分 割 线============================== LVS的负载均衡要依赖算法(Scheduling methods :调度方法)来实现,根据特点它们分为如下两类: 1.fiexd scheduling 静态(固定) 2.dnamic scheduling 动态
FIEXD SCHEDULING静态算法
特点:不考虑后端realserver的连接状态,而动态的要考虑后端的链接数为标准 1. Round-robin (RR) 轮询 既第一次访问A,第二次访问B,第三次再访问A…..循环下去
2. Weighted Round-Robin WRR 加强论调:提高后台服务器的响应能力 根据后方服务器的响应能力,来定义权重,根据权重来转发请求,权重大的优先访问
3.Destination hashing DH 目的:实现针对目标地址的请求做固定转发 将来自同一个用户的特定请求转发到固定的指定的主机(比如提供web服务),以提高缓存(网页文件缓存)利用率(命中率). 4.Souce hashing SH 目的:将来自同一个用户的地址,始终转发到router或者firewall 应用场景: 将用户的请求按照平均指定到不同的防火墙,实现平均内网负载,通过特定防火墙(网关)出去(上网) 静态算法的缺陷:不考虑后台real-server的负载,连接状态
动态算法:Dynamic Scheduling Mehtod 这里有两个概念: 活动连接:后台real-server当前处于活动状态(active)和ESTABLISHED state(想关联)的连接,像ssh,或者telnet会一直处于活动状态. 非活动连接:非活动的状态(inactive)或者非FIN的数据包,比如httpd(未开启keepalive), 而httpd除非启用keepalive, 发送完成后直接断开,处于inactive的状态
相关动态算法 : 1. LC least-connection 最少连接 LC同时检查一台主机上的活动连接数和非活动连接数,连接数最少(活动状态的连接数少)的将会接受下一个连接请求. LC同时考察活动连接和非活动连接,它用活动连接*256 非活动连接作为 overhead 通过overhead谁的小,转发给谁 但是非活动链接也会影响连接,当活动连接的比数比较大的时候,会影响结果 2.WLC Weighted Least-Connection 加权最少连接数 加权按照机器的性能划分.Overhead/加权请求要转发给小得那个 加权算法,是集群应用上的最好的算法之一,比较公平
2. SED Shortest Expected Delay 最短延迟 在WLC基础上改进 Overhead = (ACTIVE 1)*256/加权 不再考虑非活动状态,把当前处于活动状态的数目 1来实现,数目最小的,接受下次请求 1的目的是为了考虑加权的时候,非活动连接过多 缺陷:当权限过大的时候,会倒置空闲服务器一直处于无连接状态
3.NQ算法永不排队 保证不会有一个主机很空间.在SED基础上无论 几,第二次一定给下一个,保证不会有一个主机不会很空闲 不考虑非活动连接,才用NQ,SED要考虑活动状态连接 对于DNS的UDP不需要考虑非活动连接,而httpd的处于保持状态的服务就需要考虑非活动连接给服务器的压力
4.LBLC 基于本地的最少连接算法 和DH的区别:考虑后台的负载能力和连接情况 支持权重,它在WLC基础上改进
5.LBLCR 基于本地的带复制的最少连接数 是对LBLC的一个改进,能够在LBLC的基础上实现负载均衡 判断后端,到底谁的连接少,当A的连接很多,而B的很空闲,会将A的部分连接分配到B上(打破原有规则,避免大范围的不 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |