LVS,Nginx,Haproxy三种负载均衡产品的对比[通俗易懂]

LVS,Nginx,Haproxy三种负载均衡产品的对比[通俗易懂]本文介绍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到一个后端服务器,由客户端直接和后端服务器建立连接。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163768.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月24日 下午4:00
下一篇 2022年7月24日 下午4:16


相关推荐

  • 如何在excel2019指定的单元格中插入图片

    如何在excel2019指定的单元格中插入图片最近,要完成一些论文的调研及整理工作,针对各个论文中提到的方法,系统模型等。原想在单元格中插入图片,发现单元格右键插入,压根就没插入图片这一项功能,如图所示故在菜单栏中,找到插入-》图片-》此设备,插入完成后,图片能在整个界面上移动。完全不是我想要的结果。问题解决办法如下:1、选中一个想要放入的单元格,尽量拉的大一点。2、把已插入的图拖到这个单元格内,大致调整一下大小,使其和单元格大小差不多。3、选中图片右键“大小和属性”。4、作如图设置,将属性选为“随单元格改变位置和大

    2025年6月29日
    4
  • 电脑截图快捷键ctrl加什么

    电脑截图快捷键ctrl加什么截图是我们常常需要用到的一个功能 在打开网页时想要通过截屏把它保存下来 很多朋友不知道电脑网页截屏按什么键 其实方法有很多 那么 网页截图快捷键 ctrl 加什么呢 一起来看看吧 电脑截图快捷键 ctrl 加什么网页截图快捷键 Ctrl Shitf X 组合键 电脑网页截屏快捷键 PrintScreen 键 网页截图快捷键是 ctrl 加 Shitf 和 x 当我们使用 360 浏览器或者其他浏览器浏览网页的时候 按下快捷键就可以进行截图的操作了 操作方法 1 打开 360 浏览器 其他浏览器也是大致一样的方法

    2026年3月19日
    2
  • layer弹出层详解

    layer弹出层详解前言:学习layer弹出框,之前项目是用bootstrap模态框,后来改用layer弹出框,在文章的后面,我会分享项目的一些代码(我自己写的)。layer至今仍作为layui的代表作,她的受众广泛并非偶然,而是这五年多的坚持,不断完善和维护、不断建设和提升社区服务,使得猿们纷纷自发传播,乃至于成为今天的Layui最强劲的源动力。目前,layer已成为国内最多人使用的web弹层组件,GitHub…

    2022年7月13日
    27
  • pgrouting 路径规划_路径分析是什么意思

    pgrouting 路径规划_路径分析是什么意思一.技术背景,相关技术介绍   PgRouting是基于开源空间数据库PostGIS用于网络分析的扩展模块,最初它被称作pgDijkstra,因为它只是利用Dijkstra算法实现最短路径搜索,之后慢慢添加了其他的路径分析算法,如A算法,双向A算法,Dijkstra算法,双向Dijkstra算法,tsp货郎担算法等,然后被更名为pgRouting[1]。该扩展库依托PostGIS自身的g…

    2022年8月24日
    6
  • html小写罗马字符怎么写,如何在 LATEX 中插入大小写的罗马字符[通俗易懂]

    html小写罗马字符怎么写,如何在 LATEX 中插入大小写的罗马字符[通俗易懂]擅长:LS-DYNA,AUTODYNLATEX不直接支持显示大小写罗马数字,但是可以通过自定义命理来实现。首先在文章的导言区加入上面四行\makeatletter\newcommand{\rmnum}[1]{\romannumeral#1}\newcommand{\Rmnum}[1]{\expandafter\@slowromancap\romannumeral#1@}\makeatothe…

    2026年4月16日
    7
  • myeclipse6.5注册码在线生成_机器码生成注册码在线

    myeclipse6.5注册码在线生成_机器码生成注册码在线在线生成网址http://key.858game.com/index.jspmyeclipse8.5注册码列表:      lipengxin      yLR8ZC-855575-645657520873808      2016-01-0310:18:40                       myeclipse10.注册

    2026年4月18日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号