本站所有文章均为原创,如对您有帮助,恳请帮忙点击任何一处广告

LVS负载均衡集群工作模式与算法介绍

发布:TangLu2015-1-30 10:26分类: 负载均衡 标签: 负载均衡 lvs

什么是集群?简单来说集群是由两台或更多的服务器组合起来共同执行任务,集群根据业务目标可以分为:

High  Availability:高可用集群,实现业务的持续性,业务不能中断。目前常用于实现HA集群的产品有RHCS、Heartbeatkeepalived

Load  Balancing负载均衡集群,当业务量太过庞大的时候,多服务器分流。目前常用于实现LB的产品有HAProxyLVS、NginxF5(硬件)

High  Performance:高性能集群,多服务器同时处理一个业务。


本文描述的LVS现在已经是Linux内核的一部分,不需要在额外编译内核, LVS在内核里的模块叫作ipvs,而管理工具是ipvsadm,就像通过iptables来管理netfilter一样

 

LVS的IP地址类型说明:

VIP:虚拟IP,并不是提供真实服务的IP,而是通过这个IP转发到后方

DIP:LVS服务器本身的IP,通过这个IP和RIP连接,DIP通常和Real Server的IP在一个网段

RIP:真实服务器的IP地址

CIP:客户端请求时用户的IP

 

LVS的工作模式有DR模式、NAT模式以及TUN模式三种,他们的特点如下:

NAT模式:

1、集群节点跟director必须在同一IP网络中

2、RIP通常是私有地址,仅用于各集群节点间的通信

3、RealServer的网关应该指向DIP;

4、支持端口映射(转发)

5、用户发起的请求由调度器向Real Server提交,Real Server再把数据经过调度器传给用户。相比DR模式的话,这样安全性高,但是效率低,瓶颈会出现在调度器上,生产环境几乎不用。

 

DR模式(生产环境中使用最多的)

1、RealServer推荐使用公网IP;

2、RealServer的网关地址不能指向DIP;

3、RealServer和调度器需要在同个物理网络(同个机房),DIP和RIP应该在同一网段;

4、入站数据经过调度器转发到RealServer,出站数据由RealServer直接发给客户端,不再经过调度器;

5、不能做端口转发。

 

TUN模式:

也叫作隧道模式,构建和DR模式一样,相比DR模式服务器间可以不在同一个网络,可以实现异地传输,但是RealServer需要支持隧道功能。

 

LVS负载均衡的调度方法

大方向上分为动态和静态两种调度算法,静态算法是当用户连接进来后,按设置的算法进行处理,不会判断后端服务器的繁忙情况,而动态算法则会判断后端服务器繁忙状态,然后酌情调度

静态算法详细分类:

轮询调度(RR):轮流分配请求,不管服务器繁忙程度

加权轮询(WRR):后端服务器配置越好,分配到的请求越多,权重设置比较敏感。如A、B两台服务器,A的权重为1,B的为10,那么当B要处理了10个用户请求后才会分配让A处理一个

目标地址散列(DH):同一IP过来的请求永远分配给同一个Real Server,这样可以利用缓存加速

源地址散列(SH)

 

动态算法详细分类:

最小连接(LC):当客户端发起请求时调度器会计算后端服务器的开销,将请求转发给开销小的服务器。计算公式:活动链接数x256+非活动连接数

加权最小连接(WLC):默认算法,也是使用最多的算法,计算公式:(活动链接数x256)/权重+非活动连接数

还有其他的一些补充算法,如最短期望延迟(SED)、最小队列调度(NQ)、基于局部的最小连接(LBLC)带复制的基于局域的最小连接(LBLCR),可以网上查询具体含义。

温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!
et_highlighter51
版权所有:《Linux运维技术学习站点
文章标题:《LVS负载均衡集群工作模式与算法介绍
除非注明,文章均为 《Linux运维技术学习站点》 原创
转载请注明本文短网址:http://www.linuxe.cn/post-178.html  [生成短网址]

已有 0/1672 人参与

发表评论:

欢迎分享Linux运维技术学习站点

欢迎使用手机扫描访问本站,还可以关注微信哦~