首页 > 代码库 > 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介绍