• 负载均衡集群之LVS算法和模型


    LVS-->Linux Virtual Server

    实现算法-->静态/动态,共10种
    静态算法:
        rr(round robin):
            解析:轮叫算法,即0-9循环选用Real Server
        wrr(weight round robin):
            解析:带有权重的轮叫,轮叫一遍后,根据记录信息+随后信息,选出资源空闲的进行选择
        sh(source hash):
            解析:以原地址为基准的hash用于持久链接,以Client为基准,同一个Client发往上次的RealServer(内置一个hash表,key/value)
        dh(destination hash):
            解析:以目的地址为基准的hash,缓存命中高,以目的Real Server为基准,发往同一个Real Server,都走上次的路线
    动态算法:
        lc(最少连接least connect):
            解析:不计算权重,仅依照连接数来判定,算法是active*256+inactive=N(N越小,越优先).
            问题:当active相同,反而会造成inactive很大的服务器,算法得出的结果越大,故不合理
        wlc(加权最少连接weight least connect):
            解析:在lc的基础上,添加weight,算法是[active*256+inactive]/weight=N(N越小,越优先)
            问题:初始第一次计算,active和inactive都是0,故此时依照算法,不管权重大小,结果都是0,所以总是默认选择第一个Real Server,如果第一个Real Server性能确实是最好的,那没有问题,但是如果第一个Real Server性能是最差的,则不合理
        sed:
            解析:在wlc的基础上,不计算inactive,即算法是(active+1)*256/weight=N(N越小,越优先)
            问题:因为刚开始active为0,故算法的结果就是weight越小,越不会被选择,故而其他服务器的active总是>=0,因此会造成weight最小的Real Server一直不被选中
        nq:
            解析:在sed的基础上,忽略初始的第一次计算
        lblc:动态dh算法,即dh+lc
        lblcr:lblc的加强版
    工作模式-->
        类似于DNAT,不过LVS实现的是单C-->多S
    模型类型-->DNAT;DR;tunnel
        DNAT
    •     Real Server  使用私有地址
    •     Real Server  网关指向DIP
    •     进出报文都经过Director,故Director成为瓶颈
    •     支持端口映射
    •     Real Server 可以是任意OS
    •     IN: PREROUTING-->INPUT-->POSTROUTING
    •     OUT: PREROUTING-->FORWARD-->POSTROUTING
        DR:Director Routin(关键点在Director修改目标MAC,整个过程IP不修改从外在看,只有CIP和VIP两个公有)
    •     Real Server 可以使用私有地址,也可以使用公网地址,使用公有的时候方便远程管理
    •     Real Server 网关一定不能指向DIP,因为Real Server响应数据包的SIP是VIP,DIP是CIP,而Director也有VIP,直接IP冲突了,所以不能按原路径返回(linux的IP是在主机上,而不是在网卡上)
    •     Real Server和Director要在同一物理网络内,否则ARP将从新进行MAC解析;DIP和RIP在同一网段内,否则Director不能得知Real Server的MAC地址
    •     入站报文经过Director,出站由Real Server直接响应Client
    •     不能做端口映射
    •     Real Server可以为大多数常见OS
    • 禁止RS上的VIP直接跟前端路由通信的三种方案:
    1、修改路由,使用静态ARP;
    2、在RS上使用arptables,禁止响应对VIP的ARP广播请求;
    3、在RS上修改其内核参数,并向VIP配置在与RIP不同的接口的别名上;

        Tun:Tunneling
    •     RIP、DIP不能是私有地址;
    •     RealServer的网关不能指向DIP;
    •     入站报文经过Directory,出站则由RealServer直接响应Client;
    •     不支持端口映射;
    •     支持IP tunneling的OS才能用于RealServer;





    [星空刺] |-->一颗星辰一闪即逝,支撑它的唯有方向和目的
  • 相关阅读:
    SqlServer同义词
    Topshelf+Quartz3.0基于控制台应用程序快速开发可调度windows服务
    IdentityServer4实现.Net Core API接口权限认证(快速入门)
    记SqlSugar ORM框架之找不到主键问题
    Ocelot网关+IdentityServer4实现API权限认证
    Asp.Net Core入门之静态文件
    Asp.Net Core入门之自定义中间件
    Asp.Net Core入门之配置文件
    写在前面
    Web中间件常见漏洞总结
  • 原文地址:https://www.cnblogs.com/aaa103439/p/3539072.html
Copyright © 2020-2023  润新知