美文网首页并发~负载均衡
基于IP的负载均衡方式

基于IP的负载均衡方式

作者: imxyb | 来源:发表于2018-08-19 22:44 被阅读1次

    1.通过NAT实现负载均衡

    运作过程

    1. 客户端会向一个ip地址发出请求,这个ip地址是一个VIP(虚拟IP),这也是调度器向外公布的一个地址。
    2. 请求达到调度器,调度器会根据负载均衡算法(详情请见8种负载均衡算法)从RealServer列表中选取一个负载不高的服务器,然后把请求报文的目标地址,也就是VIP和端口通过iptables进行NAT转换成选中的服务器的真实ip地址。最后,调度器会把其连接保存在一个hash表中,只要这个连接下次再发请求报文过来就会把其分发到上次选定的服务器中。
    3. RealServer收到报文之后,会把响应返回给调度器。
    4. 调度器收到报文之后,会把源地址和源端口改为虚拟ip和端口,最后再返回给客户端。

    特点

    1.RealServer和调度器必须位于一个ip网络之中。
    2.调度器位于RealServer和客户端之间,处理进出的通信。
    3.RIP通常是内部地址,仅用于集群之间通信。
    4.RealServer的网关必须指向调度器。
    5.支持端口映射,RealServer没必要跟调度器一个端口。

    限制

    响应报文一般比较大,每一次都需要NAT转换的话,大流量的时候,会导致调度器成为一个瓶颈。

    配图

    image.png

    2.通过直接路由实现负载均衡

    描述

    由于网络请求有一个特点,就是响应报文往往都是比请求报文大很多的,这就会造成上面的nat每次转发收到机器负载的影响,会成为这个请求的一个瓶颈。因此VS/DR这个方案可以通过直接路由的方式,只转发请求,而相应则由RealServer去直接响应给客户端,这样可以极高提高吞吐量。

    运作过程

    1. 客户端请求一个VIP,这个ip地址就是调度器对外公布的地址。
    2. 请求到达调度器之后,调度器根据负载算法去调度请求,分发给特定的RealServer,调度器不会修改ip和端口,只会mac地址改为把选出的RealServer的mac地址,RealServer将会收到对应的报文。
    3. RealServer收到报文之后,发现报文的目标地址VIP,处理结束之后,会通过路由表将响应返回给客户端。

    特点

    1. 集群节点,RealServer和调度器要在同一个物理网络之中。
    2. RIP通常是私有网络,当然也可以是公开网络,方便监控和管理。
    3. 调度器只负责调度请求,响应会由服务器直接对客户端进行响应。
    4. RealServer不能指向调度器的网关。
    5. 不支持端口映射。

    3. VS/TUN 实现虚拟服务器

    描述

    由于VS/DR限制RealServer和调度器在同一个物理网络,因此无法分散在各地,VS/TUN就能解决这个问题。

    运作过程

    1.客户端通过VIP发送请求,通过一个ip隧道,将一个ip报文封装到另一个ip报文,这样可以让目标为一个ip的地址数据转发到另一个ip地址。
    2.调度器根据负载均衡算法去选择一台RealServer,再把封装后的ip报文发送过去。
    3.RealServer获取到报文之后解封报文,获取到原来目标为VIP的报文,服务器发现这个VIP是位于本地的IP隧道中就会处理这个这个请求,并通过路由表去把响应报文直接回复给客户端。

    特点

    1. RealServer和调度器必须可以公网访问。
    2. RIP必须是公网地址。
    3. 调度器只分配和转发请求给RealServer,响应报文则由RealSever直接响应给客户端。
    4. RealServer的网关不能指向调度器。
    5. 不支持端口映射。

    相关文章

      网友评论

        本文标题:基于IP的负载均衡方式

        本文链接:https://www.haomeiwen.com/subject/bhlhiftx.html