• LVS,Nginx,Haproxy三种负载均衡产品的对比


    原文网址:LVS,Nginx,Haproxy三种负载均衡产品的对比_IT利刃出鞘的博客-CSDN博客

    简介

            本文介绍LVS,Nginx,Haproxy这三种负载均衡产品的区别。

            实际应用中,Web 服务器集群的上层要有一台负载均衡服务器,负载均衡设备的任务就是作为 Web 服务器流量的入口,挑选最合适的一台 Web 服务器,将客户端的请求转发给它处理。

    使用场景

    一般根据流量(并发量)来选型

    流量比较小(每日 PV 小于 100 万):使用Nginx或者Hproxy(推荐使用Nginx)。

    流量很大(每日 PV 大于 100 万):使用LVS。

    LVS和Nginx结合使用的场景

    Nginx处理请求的方法:请求和响应数据都会经过 Nginx。

            Nginx:采用的是异步转发。可以做到:如果一个服务器请求失败,立即切换到其他服务器,直到请求成功或者最后一台服务器失败为止。可以最大程度的提高系统的请求成功率。异步转发:Nginx 在保持客户端连接的同时,发起一个相同内容的新请求到后端,等后端返回结果后,由 Nginx 返回给客户端。

    LVS处理请求的方法:请求数据经过 LVS网络,响应数据由后端服务器的网络返回。

            LVS:采用的是同步转发。同步转发:LVS 服务器接收到请求之后,立即 redirect 到一个后端服务器,由客户端直接和后端服务器建立连接。

    总结

            若仅使用Nginx:后端的服务器规模庞大时,Nginx 的网络带宽就成了一个巨大的瓶颈。

            若仅使用LVS:一旦后端接受到请求的服务器出了问题,那么这次请求就失败了。

            如果在 LVS 的后端在添加一层 Nginx(多个),每个 nginx 后端再有几台应用服务器,就可以结合两者的优势,既能避免单 Nginx 的流量集中瓶颈,又能避免单 LVS 在请求失败时无法切换服务器的问题。

    详细对比

    Nginx

    LVS

    所在网络层级

    四层/七层

    四层

    抗负载能力

    功能

    功能多

    能够根据域名、url的不同,将http请求分到不同的后端服务器。

    节省带宽:支持gzip压缩,可以添加浏览器本地缓存的header头。

    功能少

    同时也减少了人为出错的概率

    稳定性

    稳定性低,有单机故障

    无现成的双机热备方案

    稳定性高

    有完整的双机热备方案

    网络架构依赖

    无依赖。

    强依赖

    很依赖网络架构设计(可以采用简单的NAT方式解决此问题)

    是否会重试

    不重试

    数据包分发到坏的后端并返回错误后,会尝试重新分发到健康的后端

    会重试

    数据包分发到坏的后端,不会重新分发,会直接返回错误

    数据出入

    所有的请求和响应流量都会经过Nginx

    仅请求流量经过LVS的网络,响应流量由后端服务器的网络返回。

    FULL_NAT同Nginx。

    宿主机性能要求

    要求较高

    Nginx对源端和目的端都单独建立连接,中间涉及数据包的解析,所以依赖宿主机的I/O性能和CPU内存.

    要求较低

    LVS仅分发请求,流量并不从它本身出去,所以瓶颈仅仅受限于网络带宽和网卡性能

    转发方式

    异步转发

    在保持客户端连接的同时,发起一个相同内容的新请求到后端,等后端返回结果后,由Nginx返回给客户端

    同步转发

    LVS服务器接收到请求之后,立即redirect到一个后端服务器,由客户端直接和后端服务器建立连接。

  • 相关阅读:
    无涯教程-JavaScript - ADDRESS函数
    CentOs通过tar方式安装java虚拟机环境
    Chrome浏览器书签同步配置方法
    spring boot单元测试
    ES6 的 export / import 常用方式总结
    拼多多API_获得搜索词推荐
    c# winform 实际操作XML代码,包括创建、保存、查询、删除窗体演示
    java指令重排序
    苹果ios应用ipa文件签名为什么需要签名才能上架?有没有别的方式替代苹果签名?
    Open3D(C++) 深度图像与彩色图像转三维点云
  • 原文地址:https://blog.csdn.net/feiying0canglang/article/details/125558934