轮询调度算法就是以轮询的方式依次将请求调度到不同的服务器,即每次调度执行i = (i + 1) mod n,并选出第i台服务器。算法的优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调度。
2、最小连接调度
最小连接调度算法是把新的连接请求分配到当前连接数最小的服务器。最小连接调度是一种动态调度算法,它通过服务器当前所活跃的连接数来估计服务器的负载情况。
在实际实现过程中,一般会为每台服务器设定一个权重值,这就是加权最小连接
3、 基于局部性的最少链接(LBLC)
基于局部性的最少链接调度(以下简称为LBLC)算法是针对请求报文的目标IP地址的负载均衡调度,目前主要用于Cache集群系统,因为在Cache集群中客户请求报文的目标IP地址是变化的。
LBLC调度算法先根据请求的目标IP地址找出该目标IP地址最近使用的服务器,若该服务器是可用的且没有超载,将请求发送到该服务器; 若服务器不存在,或服务器超载或有服务器处于其一半的工作负载,则用“最少链接”的原则选出一个可用的服务器,将请求发送到该服务器。
4、带复制的基于局部性最少链接(LBLCR)
带复制的基于局部性最少链接调度以下简称为LBLCR)算法也是针对目标IP地址的负载均衡,目前主要用于Cache集群系统。它与LBLC算法的不同之处是它要维护从一个目标IP地址到一组服务器的映射,而LBLC算法维护从一个目标IP地址到一台服务器的映射。
LBLCR调度算法将“热门”站点映射到一组Cache服务器(服务器集合),当该“热门”站点的请求负载增加时,会增加集合里的Cache服务器,来处理不断增长的负载; 当该“热门”站点的请求负载降低时,会减少集合里的Cache服务器数目。
5、目标地址散列调度
目标地址散列调度算法是针对目标IP地址的负载均衡,但它是一种静态映射算法,通过一个散列(Hash)函数将一个目标IP地址映射到一台服务器。
目标地址散列调度算法先根据请求的目标IP地址,作为散列从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。
6、 源地址散列调度
和目标地址散列调度类似,唯一的区别是按照源地址为散列函数的散列键。DR模式也就是用直接路由技术实现虚拟服务器。它的连接调度和管理与 NAT模式一样,但它的报文转发方法不同,DR模式通过改写请求报文的 MAC地址,将请求发送到Real Server,而Real Server将响应直接返回给 客户。这种方式是负载调度机制中性能最高最好的
下面我们直接 *** 作:(实验是基于关闭selinux和firewalld的)
安装:
yum install ipvsadm -y
调度器的VIP,DIP和后端真实服务器IP必须配置在同一网段,都使用仅 主机模式;
客户端的IP与路由器外网IP保持一个网段,且客户端的网关设置为路由 器的外网地址;
后端真实服务器网关设置为路由器的内网地址;
路由器开启数据包的转发;
后端真实服务器要抑制VIP的arp广播;
RS服务器和LVS服务器的VIP以子接口方式配置;
记住配置网卡后,都需要重启网卡哦(systemctl restart network)
nginx:(vip绑定在回环的网卡上)
RIP:1921681103 VIP:1921681200/32
RIP:1921681104 VIP:1921681200/32
lvs:(VIP以子接口方式配置)
DIP:1921681102 VIP:1921681200
#服务器要抑制VIP的arp广播:
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
#RIP默认网关指向1921681105——VIp加到回环地址里面的
#VIP和DIP的默认网关都指向1921681105
#配置LVS:
ipvsadm -A -t 1921681200:80 # 工作模式如果不指定,默认是DR模式,如需指定使用-g
ipvsadm -a -t 1921681200:80 -r 1921681103
ipvsadm -a -t 1921681200:80 -r 1921681104
#添加IP_VS模块——lvs的IP负载均衡技术是通过IP_VS模块来实现的
modprobe ip_vs
#一个ip仅主机,一个ip桥接。
#开启数据转发:
临时:
echo 1 >/proc/sys/net/ipv4/ip_forward
永久:
vim /etc/sysctlconf——追加
netipv4ip_forward = 1
system -p——查看
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)