LVS-算法

算法 说明
rr 轮询调度(Round-Robin) 它将请求一次分配不同的RS,也就是在RS中均摊请求,算法简单,但是只适合于RS处理性能相差不大的情况(多个服务器硬件配置差不多)
wrr加权轮询调度(Weighted Round-Robin) 它根据RS不同的权值分配任务,权值高的RS优先获得请求,分配到的连接数将比权值低的RS更多,权值相同的RS得到的连接数数目相同
wlc加权最小连接数调度(Weighted Least-Comnection) (WLC)
具有较高权值的服务器将承受较大比例的活动连接负载。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。

假设各台RS的权值依次为Wi(l = 1..n),当前的TCP连接数依次为Ti(l=1..n)依次选取Wi/Ti为最小的RS作为下一个分配的RS

dh 目的地址哈希调度(Destination Hashing) 以目的地址为关键字查找一个静态hash表来获得需要的RS
sh 源地址哈希调度(Source Hashing) 以源地址作为关键字查找一个静态hash表来获取需要的RS
LBLC 基于局部性的最少链接(Locality-Based Least Connections) 针对目标IP地址的负载均衡,目前主要用于Cache集群系统。该算法根据请求的目标IP地址找出该目标IP地址最近使用的服务器,若该服务器是可用的且没有超载,将请求发送到该服务器;若服务器不存在,或者该服务器超载且有服务器处于一半的工作负载,则用“最少链接” 的原则选出一个可用的服务器,将请求发送到该服务器。
LBLCR 带复制的基于局部性最少链接(Locality-Based Least Connections with Replication) 也是针对目标IP地址的负载均衡,目前主要用于Cache集群系统。它与LBLC算法的不同之处是它要维护从一个目标 IP地址到一组服务器的映射,而LBLC算法维护从一个目标IP地址到一台服务器的映射。该算法根据请求的目标IP地址找出该目标IP地址对应的服务器组,按“最小连接”原则从服务器组中选出一台服务器,若服务器没有超载,将请求发送到该服务器;若服务器超载,则按“最小连接”原则从这个集群中选出一台服务器,将该服务器加入到服务器组中,将请求发送到该服务器。同时,当该服务器组有一段时间没有被修改,将最忙的服务器从服务器组中删除,以降低复制的程度。
DH 目标地址散列(Destination Hashing) 根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。
SH 源地址散列(Source Hashing) 根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。
SED 最短的期望的延迟(Shortest Expected Delay Scheduling SED)
基于wlc算法

ABC三台机器分别权重123 ,连接数也分别是123。那么如果使用WLC算法的话一个新请求进入时它可能会分给ABC中的任意一个。使用sed算法后会进行这样一个运算

A(1+1)/1

B(1+2)/2

C(1+3)/3

根据运算结果,把连接交给C 。

NQ 最少队列调度(Never Queue Scheduling NQ) 无需队列。如果有台 realserver的连接数=0就直接分配过去,不需要在进行sed运算
时间: 2024-10-21 22:16:05

LVS-算法的相关文章

lvs算法介绍

lvs算法类型:  静态算法:rr,wrr,dh,sh  动态算法:wlc,lc,lblc,SED,NQ(后两种官方站点没有提到,编译LVS,make过程可以看到) 静态算法:仅根据算法本身进行调度:(保证起点公平) RR:round robin,轮调,轮循  WRR:weighted rr,加权轮循  SH:source hash,实现session保持的机制:将来自于同一个IP的请求始终高度至同一RS  DH:destination hash,当请求同个资源时上,转发至固定的Server 动

负载均衡集群、LVS算法、搭建NAT模式LVS架构

18.6 负载均衡集群介绍 实现负载均衡集群的软件有:LVS.Keepalived.Nginx.haproxy等.其中LVS属于四层(网络OSI模型):Nginx属于七层:haproxy既可以认为是四层,也可以当做是七层使用.LVS.haproxy这种四层负载均衡可以分发除80端口以外的通信,如MySQL-3306:而Nginx仅仅支持http,https,mail.相对来说,LVS这种四层的更加稳定,能承受更多的请求,而Nginx这种七层的更加灵活,能实现更多的个性化需求. 18.7 LVS介

LB负载均衡集群之LVS(NAT)

NAT模式 调度过程IP包详细图: 原理请看:<LVS算法转载> 实验准备 三台机器 一台为负载均衡调度器director,两张网卡,一个外网(客户请求)192.168.134.141,一个内网192.168.143.136 两台真实服务器real server,一张网卡,内网192.168.143.130和192.168.143.134 真实服务器的网关设置为负载均衡器的内网IP 192.168.143.136 实验环境为虚拟机,所以先用nat模式下载需要的服务ipvsadm,nginx,然

LVS DR+keepalived实现HA+LB

首先需要4台服务器 2台dir分别是  dirmaster  dirslave 2台RS 分别运行nginx测试服务 dir 192.168.186.129 192.168.186.135 RS 192.168.186.130 192.168.186.132 首先搭建LVS-DR服务 a.dir上面安装ipvsadm yum install ipvsadm b.更改ipvsadm配置文件 vim /etc/usr/local/sbin/lvs_dr.sh #! /bin/bashecho 1 >

lvs DR模式 +keepalived 实现directory 高可用、httpd服务负载均衡集群

功能: lvs+keepalived高可用负载均衡集群中: ·keepalived负责后端real server健康状态检查 如果一台real server服务出现故障,则会从集群服务中剔除,等恢复之后再自动加入到集群. ·keepalived负责负载均衡器(directory server)高可用 A和B两台虚拟机装lvs+keepalived(主)和lvs+keepalived(备),但是对外表现为一个虚拟IP,主服务器会发送消息给备服务器,当备服务器收不到消息的时候,认为主出现故障,然后接

LVS负载均衡集群服务搭建详解(二)

lvs-nat模型构建 1.lvs-nat模型示意图 本次构建的lvs-nat模型的示意图如下,其中所有的服务器和测试客户端均使用VMware虚拟机模拟,所使用的CentOS 7 VS内核都支持ipvs功能,且安装ipvsadm控制书写lvs规则工具. RS端两台服务器为httpd服务器做请求的负载均衡. 注意: 1) 客户端可以使用Windows上的浏览器,会后缓存影响结果,所以采用CentOS上的curl命令请求http协议显示更加直观 2) DIP上不能配置iptables规则 2.VS网

LVS+keepalived(DR)

一.  简介: LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统. 目前有三种IP负载均衡技术(VS/NAT.VS/TUN和VS/DR): 八种调度算法(rr,wrr,lc,wlc,lblc,lblcr,dh,sh). Virtual Server via Network Address Translation(VS/NAT)通过网络地址转换,调度器重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器:真实服务器的响

HA &nbsp; LB &nbsp; LVS &nbsp; KEEPALIVED

1  HA = high available (主从 主宕掉之后,从自动启动工作) 软件 heartbeat 需要关闭 iptables selinux 编辑 /etc/hosts 把两台主机的ip 主机名写进去(两台) 192.168.1.110 master 192.168.1.111 slave 安装heartbeat    (yum安装.没有的话安装epel扩展源) yum install -y heartbeat 由于heartbeat 依赖于包libnet 所以也需要安装 yum i

LVS/DR结合keepalived

LVS/DR 配置 准备3台机器: dir(192.168.220.141)rs1(192.168. 220.143)rs2(192.168.220.144) vip(192.168.220.110) Director 上 vim /usr/local/sbin/lvs_dr.sh //增加#! /bin/bashecho 1 > /proc/sys/net/ipv4/ip_forwardipv=/sbin/ipvsadmvip=192.168.220.110rs1=192.168.220.14

lvs之keepalived

集ha,lb与一体的功能 需要四台机器 当某台real server把httpd进程停掉,那么director照样会把请求转发过去,这样就造成了某些请求不正常.所以需要有一种机制用来检测real server的状态,这就是keepalived.它的作用除了可以检测rs状态外,还可以检测备用director的状态,也就是说keepalived可以实现ha集群的功能,当然了也需要一台备用director. 备用director也需要安装一下keepalived软件 yum install -y ke