LVS负载均衡的三种模式和八种算法总结

LVS负载均衡的三种模式和⼋种算法总结
三种LVS负载均衡模式
调度器的实现技术中,IP负载均衡技术是效率最⾼的,IP虚拟服务器软件(IPVS)是在linux内核中实现的。
LVS负载均衡模式---1.NAT模式
sgtNAT⽤法本来是因为⽹络IP地址不⾜⽽把内部保留IP地址通过映射转换成公⽹地址的⼀种上⽹⽅式(原地址NAT)。如果把NAT的过程稍微变化,就可以成为负载均衡的⼀种⽅式。原理其实就是把从客户端发来的IP包的IP头⽬的地址在DR上换成其中⼀台REALSERVER的IP地址并发⾄此REALSERVER,⽽REALSERVER则在处理完成后把数据经过DR主机发回给客户端,DR在这个时候再把数据包的原IP地址改为DR接⼝上的IP地址即可。期间,⽆论是进来的流量,还是出去的流量,都必须经过DR。
LVS负载均衡模式---2.IP隧道模式
隧道模式则类似于VPN的⽅式,使⽤⽹络分层的原理,在从客户端发来的数据包的基础上,封装⼀个新的IP头标记(不完整的IP头,只有⽬的IP部)发给REALSERVER,REALSERVER收到后,先把DR发过来的数据包的头给解开,还原其数据包原样,处理后,直接返回给客户端,⽽不需要再经过DR。需要注意的是,由于REALSERVER需要对DR发过来的数据包进⾏还原,也就是说必须⽀持IPTUNNEL协议。所以,
在REALSERVER的内核中,必须编译⽀持IPTUNNEL这个选
通讯加密
项。IPTUNNEL也在Net working options⾥⾯。
LVS负载均衡模式---3.直接路由模式
直接路由模式⽐较特别,很难说和什么⽅⾯相似,前2种模式基本上都是⼯作在⽹络层上(三层),⽽直接路由模式则应该是⼯作在数据链路层上(⼆层)。其原理为,DR 和REALSERVER都使⽤同⼀个IP对外服务。但只有DR对ARP请求进⾏响应,所有REALSERVER对本⾝这个IP的ARP请求保持静默。也就是说,⽹关会把对这个服务IP的请求全部定向给DR,⽽DR收到数据包后根据调度算法,出对应的REALSERVER,把⽬的MAC地址改为REALSERVER的MAC并发给这台REALSERVER。这时REALSERVER收到这个数据包,则等于直接从客户端收到这个数据包⽆异,处理后直接返回给客户端。由于DR要对⼆层包头进⾏改换,所以DR和REALSERVER之间必须在⼀个⼴播域,也可以简单的理解为在同⼀台交换机上。
LVS负载均衡的⼋种调度算法
LVS已实现了以下⼋种调度算法:
LVS负载均衡算法---1.轮叫调度(Round-RobinScheduling)
虚拟房间
调度器通过"轮叫"调度算法将外部请求按顺序轮流分配到集中的真实服务器上,它均等地对待每⼀台服务器,⽽不管服务器上实际的连接数和系统负载。
LVS负载均衡算法---2.加权轮叫调度(WeightedRound-RobinScheduling)
调度器通过"加权轮叫"调度算法根据真实服务器的不同处理能⼒来调度访问请求。这样可以保证处理能⼒强的服务器处理更多的访问流量。调度器可以⾃动问询真实服务器的负载情况,并动态地调整其权值。美微乳
LVS负载均衡算法---3.最⼩连接调度(Least-ConnectionScheduling)
调度器通过"最少连接"调度算法动态地将⽹络请求调度到已建⽴的链接数最少的服务器上。如果集系统的真实服务器具有相近的系统性能,采⽤"最⼩连接"调度算法可以较好地均衡负载。
LVS负载均衡算法---4.加权最⼩连接调度(WeightedLeast-ConnectionScheduling)
在集系统中的服务器性能差异较⼤的情况下,调度器采⽤"加权最少链接"调度算法优化负载均衡性能,具有较⾼权值的服务器将承受较⼤⽐例的活动连接负载。调度器可以⾃动问询真实服务器的负载情况,并动态地调整其权值
LVS负载均衡算法---5.基于局部性的最少链接(Locality-BasedLeastConnectionsScheduling)
基于局部性的最少链接"调度算法是针对⽬标IP地址的负载均衡,⽬前主要⽤于Cache集系统。该算法根据请求的⽬标IP地址出该⽬标IP地址最近使⽤的服务器,若该服务器是可⽤的且没有超载,将请求发送到该服务器;若服务器不存在,或者该服务器超载且有服务器处于⼀半的⼯作负载,则⽤"最少链接"的原则选出⼀个可⽤的服务器,将请求发送到该服务器。
LVS负载均衡算法---6.带复制的基于局部性最少链接(Locality-BasedLeastConnectionswithReplicationScheduling)
带复制的基于局部性最少链接"调度算法也是针对⽬标IP地址的负载均衡,⽬前主要⽤于Cache集系统。它与LBLC算法的不同之处是它要维护从⼀个⽬标IP地址
到⼀组服务器的映射,⽽LBLC算法维护从⼀个⽬标IP地址到⼀台服务器的映射。该算法根据请求的⽬标IP地址出该⽬标IP地址对应的服务器组,按"最⼩连接"原则从服务器组中选出⼀台服务器,若服务器没有超载,将请求发送到该服务器,若服务器超载;则按"最⼩连接"原则从这个集中选出⼀台服务器,将该服务器加⼊到服务器组中,将请求发送到该服务器。同时,当该服务器组有⼀段时间没有被修改,将最忙的服务器从服务器组中删除,以降低复制的程度
LVS负载均衡算法---7.⽬标地址散列调度(DestinationHashingScheduling)
abp263
⽬标地址散列"调度算法根据请求的⽬标IP地址,作为散列键(HashKey)从静态分配的散列表出对应的服务器,若该服务器是可⽤的且未超载,将请求发送到该服务器,否则返回空
LVS负载均衡算法---8.源地址散列调度(SourceHashingScheduling)
can总线电路
源地址散列"调度算法根据请求的源IP地址,作为散列键(HashKey)从静态分配的散列表出对应的服务器,若该服务器是可⽤的且未超载,将请求发送到该服务器,否则返回空。

本文发布于:2024-09-22 12:41:05,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/99137.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:服务器   调度   算法   请求
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议