candy 发表于 2019-1-5 07:01:24

LB集群之LVS介绍

  负载均衡
   前言:
  LB——load balance
  比如说有1w/s并发(请求量),启用一台机器只是支持1k/s并发,那么如果支持1w并发则需要1k/s * 10并发的机器同时工作才可以满足。
  开源软件:nginx 第7层应用级别、lvs 第4网络层、keepalived
  商业硬件设置:F5、Netscale
   LVS架构:
  负载均衡架构图
http://note.youdao.com/yws/res/7615/WEBRESOURCE63313abe4cee326d8e0011dfcee3fc74
  用户访问一个站点,通过互联网访问一个域名,域名解析后返回一个IP,然而这个IP相当于一个分发器、调度器Director,收到用户的请求(Director通过算法)分发到真实服务器Real Server,真实服务器的后方可能会有mysql服务器,或者是缓存的一些服务。
  LVS有三种模式工作原理
  NAT/TUN/DR
  参考资料:http://www.it165.net/admin/html/201401/2248.html
  1、NAT模式
http://note.youdao.com/yws/res/7626/WEBRESOURCEc545a55c6bcd8d946b40bc7388eb4ad2
  原理:
  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模式
http://note.youdao.com/yws/res/7631/WEBRESOURCEb7e743d722fa7616cb1394a67b32c461
  数据通过隧道传输的与IP相关
  客户请求的数据包,经过LVS时进行了一次加工,将数据包头部增加了一个新的IP头(Real Server IP),数据包流向发生改变走到Real Server上,收到数据包后,进行一个处理,先把IP头解掉得到数据包,源IP-客户端,目标IP-自己。此时响应请求则直接发给客户端。
  缺点:隧道会更多的消耗资源;
  3、DR模式
http://note.youdao.com/yws/res/7636/WEBRESOURCE09923ec34c6c6fac18eee8fd5191f267
  与TUN模式类似,数据包头更改目标mac地址(Real Server)
  缺点:RS需要有公网,暴露了端口有可能会带来一些安全隐患
  调度算法
  rr 轮循
  rw 在rr轮循的基础上加上权重(权重范围0-100)
  lc 最小链接调度算法,判断机器连接数选择空闲机器进行调度
  wlc 同上加入权重
  




页: [1]
查看完整版本: LB集群之LVS介绍