首页 > 代码库 > LB集群之LVS介绍

LB集群之LVS介绍

负载均衡

前言:

LB——load balance

比如说有1w/s并发(请求量),启用一台机器只是支持1k/s并发,那么如果支持1w并发则需要1k/s * 10并发的机器同时工作才可以满足。

开源软件:nginx 第7层应用级别、lvs 第4网络层、keepalived

商业硬件设置:F5、Netscale

LVS架构:

负载均衡架构图

技术分享

用户访问一个站点,通过互联网访问一个域名,域名解析后返回一个IP,然而这个IP相当于一个分发器、调度器Director,收到用户的请求(Director通过算法)分发到真实服务器Real Server,真实服务器的后方可能会有mysql服务器,或者是缓存的一些服务。

LVS有三种模式工作原理

NAT/TUN/DR

参考资料:http://www.it165.net/admin/html/201401/2248.html

1、NAT模式

技术分享

原理:

1)客户端请求数据,目标IP为VIP

2)请求数据到达LB服务器,LB根据调度算法将目的地址修改为RIP地址及对应端口(此RIP地址是根据调度算法得出的。)并在连接HASH表中记录下这个连接。

3)数据包从LB服务器到达RS服务器webserver,然后webserver进行响应。Webserver的网关必须是LB,然后将数据返回给LB服务器。

4)收到RS的返回后的数据,根据连接HASH表修改源地址VIP&目标地址CIP,及对应端口80.然后数据就从LB出发到达客户端。

5)客户端收到的就只能看到VIP\DIP信息

优点:配置简单,思路简单;

缺点:因为进出都要经过LVS所以在并发量很大的时候会成为瓶颈;

2、TUN模式

技术分享

数据通过隧道传输的与IP相关

客户请求的数据包,经过LVS时进行了一次加工,将数据包头部增加了一个新的IP头(Real Server IP),数据包流向发生改变走到Real Server上,收到数据包后,进行一个处理,先把IP头解掉得到数据包,源IP-客户端,目标IP-自己。此时响应请求则直接发给客户端。

缺点:隧道会更多的消耗资源;

3、DR模式

技术分享

与TUN模式类似,数据包头更改目标mac地址(Real Server)

缺点:RS需要有公网,暴露了端口有可能会带来一些安全隐患

调度算法

rr 轮循

rw 在rr轮循的基础上加上权重(权重范围0-100)

lc 最小链接调度算法,判断机器连接数选择空闲机器进行调度

wlc 同上加入权重


本文出自 “linux” 博客,转载请与作者联系!

LB集群之LVS介绍