• 负载均衡与高可用概念(转)


    负载均衡 建立在现有的网络结构上,提供一种廉价有效透明的方法来扩大网络设置和服务器的带宽、增加吞吐量、加强网络数据处理能力,以及提供网络的灵活性和可用性。

    高可用 指整个系统高可用,也指主机的冗余接管。

    单台负载均衡器位于网络的最前端,它起着分流客户请求的作用,相当于整个网站或系统的入口,如果它出现故障,这个网站也会出现故障。所以,这时有一种方案,它能在短时间内将崩溃的负载均衡器接管过去,这也可称高可用。至于负载均衡器后端的Web集群、数据库集群、因为有负载均衡器的内部机制,即使其中的某一台或两台发生问题,也不会影响真个系统的使用。

    一般说得Linux集群,它指的是大范围内的整套系统架构,相对负载均衡器后端的Web集群或MySQL集群来说,它的覆盖面要广的多,包括了负载均衡器的高可用。

    用得较多的负载均衡器硬件有F5 BIG-IP,软件有LVS,Nginx及HA-Proxy。高可用软件有Hearbeat和keepalived。成熟的Linux集群架构有LVX+Keepalived、Nginx+keepalived及DRBD+Hearbeat。

    1 以LVS作为负载均衡器 LVS集群

    LVS集群体系结构 分三层:负载均衡 应用服务器集群 共享存储集群,如图所示。

    位于最前端的调度器是服务器集群系统的唯一入口,它可采用IP负载均衡技术和基于内容的请求分发技术。 >IP负载均衡,要求服务器池中有相同内容,提供相同服务。当用户请求到达,调度器根据调度算法从服务器池中选出一台服务器,将改请求转发到选出的服务器上。

    >基于内容的请求分发技术,服务器可以提供不同的服务,当用户请求到达时,调度器可根据请求内容选择执行的服务器。

    1)通过NAT实现虚拟服务器(VS/NAT) 用户通过VIP访问网络服务时,请求报文到达调度器,调度器根据算法从一组真实服务器中选出一台服务器,将报文的目标地址(VIP)改写成选定服务器的地址,将报文的目标端口改为选定服务器的相应端口,最后将修改后的报文发送给选出的服务器。同时,调度器在Hash表中记录这个连接,当这个连接的下一个报文到达时,从hash表中可以得到原先选定的服务器的地址和端口,执行同样的改写操作,并将报文传给原先选定的服务器。当来自真实服务器的响应报文经过调度器时,调度器将报文的源地址和源端口改为VIP和响应的端口,在把报文发给用户。

    在连接上引入一个状态机,不同的报文会使用连接处于不同的状态,不同的状态有不同的超时值。默认SYN状态超时时间为1分钟,ESTABLISHED状态的超时时间为15分钟,FIN状态的超时时间为1分钟,UDP状态超时时间为5分钟。当连接终止或超时时,调度器会将这个连接从Hash表中删除。

    2)通过IP隧道实现虚拟服务器(VS/TUN) 请求和响应分开处理。IP隧道是将一个IP报文封装到另一个IP报文中的技术,主要应用于移动主机和虚拟私有网络(Virtual Private Network)。利用IP隧道技术将请求报文封装并转发给后端服务器,响应报文能从后端服务器直接返回给客户。

    3)通过直接路由实现虚拟服务器(VS/DR) 调度器和服务器组都必须处于同一个局域网中(主要转发是的数据帧非IP包)。VIP地址被调度器和服务器组共享,调度器配置的VIP地址是对外可见的,用于接收虚拟服务器的请求报文。所有服务器把VIP地址配置在各自的Non-ARP网络设备山个,它对外不可见,只是用于处理目标地址为VIP的网络请求。

    在DR模式中,调度器动态选择一台服务器,不修改也不封装IP报文,而是将数据帧的MAC地址改为选出服务器的MAC地址,再将修改后的数据帧在局域网内发送,目标接收到该数据帧处理后,根据路由表将响应直接返回给客户。

    2 以Nginx作为负载均衡器 Nginx既可作为负载均衡器也可以作为反向代理服务器,可以按轮询、IP_hash、URL_hash、权重等多种方法对后端的服务器执行负载均衡操作,同时还支持对后端服务器的健康检查。

    3 以HAProxy作为负载均衡器 HAproxy是一款基于Tcp和Http应用的代理软件,也可作为负载均衡器。HAProxy最主要的有点是性能突出。它多用于MySQL集群环境,常用它作为MySQL(读)负载均衡。

    高可用软件 1 Keepalived 运行在LVS之上,是LVS的扩展项目,主要功能是实现真实机的故障隔离以及负载均衡器间的失败切换。Keepalived的作用是检测Web服务器的状态,如果有一台Web服务器死机,或者出现故障,Keepalived将检测到,并将有故障的Web服务器从系统中剔除,当Web服务器工作正常后自动将Web服务器加入到服务器群中。

    负载均衡器之间的失败切换,是通过VRRPv2 stack实现的。通过对服务器池对象的健康检查,实现对失效机器/服务的故障隔离。

    2 Hearbeat Hearbeat是Linux-HA项目中的一个组件,它提供了所有HA软件所需要的基本功能,比如心跳检查和资源接管、检测集群中的系统服务、在集群中的节点间转移共享IP地址所有者。

    3 高可用块设备DRBD DRBD(Distributed Replicated Block Device)是一种块设备。功能类似于网络RAID-1,当数据写入本地文件系统时,数据还将会发送到网络中的另一台主机上,并以相同的形式记录在一个文件系统中。

    原文链接:http://www.vfeelit.com/410.html

  • 相关阅读:
    NWERC 2016 F. Free Weights
    Gym 101142C CodeCoder vs TopForces 【dfs】
    HDU 6186 number number number 【规律+矩阵快速幂】
    UVA 10048 Audiophobia 【floyd】
    Fully Connected Layer:全连接层
    Artificial Neural Networks:人工神经网络
    Back Propagation:误差反向传播算法
    Gradient Descent:梯度下降
    Regularization:正则化
    softmax loss function:归一化指数函数
  • 原文地址:https://www.cnblogs.com/zsmynl/p/3538568.html
Copyright © 2020-2023  润新知