nginx最佳配置(nginx和lvs各自的优劣以及适合的使用环境)
nginx最佳配置
nginx和lvs各自的优劣以及适合的使用环境在最开始呢,咱们先说一下什么叫负载均衡,负载均衡呢,就是将一批请求,根据请求的内容,分发到不同的后端去进行相应的处理,从而提供负载分担,主备切换等功能。
对于不同的负载均衡软件,有不同的流量分发算法,今天,我们最市面上比较主流的两种负载均衡做一个对比,看看他们分别的优缺点,以及在很多情况下如何去做配合。
【四层和七层】
首先,说说四层和七层的区别;
四层负载均衡,指的是IP+端口的负载均衡;
七层负载均衡,指的是基于WEB请求,URL等应用层信息的负载均衡。
当然,同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡。
四层负载均衡,主要分析IP层和TCP/UDP层。
七层负载均衡,要分析应用层协议,比如HTTP协议,URL,cookie等信息。
【关于LVS】
LVS的负载能力很强,因为其工作模式非常简单,仅进行请求的分发,而且其工作在第四层,没有流量,在效率方面最高。
LVS是在四层,可以对几乎所有的应用作负载均衡。
但是LVS对于故障后端感知并不敏感,比如在DR模式下,要是有一个后端服务器没有配置VIP,就会导致请求的一部分数据会直接丢失。
且LVS对于网络环境的稳定性要求较高,如果请求失败了,只能依赖于前端的应用自身的重试机制,负载均衡不对请求进行重新下发。
而且LVS也很受限于网络架构,在设计之初就要考虑到网络架构是否满足LVS负载的前置条件。
【关于nginx】
同样的,nginx也可以用于负载均衡,但是由于nginx需要对源端/目的端都建立连接,所以处理流量的速度受限于机器I/O,CPU内存等一系列配置,所以nginx的负载能力相对较差。
nginx安装,配置都比较简单,与LVS对比,nginx不需要很严格的网络架构,只要网络可以联通即可。
且nginx自身的重试机制,可以保证请求下发失败之后,会重新下发到健康的后端上。
但是,nginx因为没有现成的热备机制,所以,存在单点故障的问题,一般需要搭配keepalived使用。
不过,nginx作为一款应用层负载均衡(后来引入stream模块之后,四层也支持了),可以提供负载分担,贮备切换,HTTPS写在,带宽限速,隐藏真实IP,隐藏真实端口,屏蔽攻击等能力,这是LVS所不能提供的。
【对比】
lvs和nginx都是现在很主流的负载均衡方式,他们各有优缺点,在生产环境需要根据其特点做选择。
LVS
Nginx
四层
四层/七层
抗负载能力
强
弱
配置性
稳定性
网络架构依赖
无依赖
网络稳定性依赖
网络流量
所有的请求和响应流量都会经过nginx
宿主机性能要求
转发方式
其他
【两者配合】
在使用上,一般最前端所采取的的策略应是lvs,也就是dns的指向应为lvs均衡器,主要原因在于nginx虽然功能强大,但是当作为后端的服务器规模庞大时,nginx的网络带宽就成了一个巨大的瓶颈。
但是当lvs作为负载均衡的话,一旦后端接受到请求的服务器出了问题,那么这次请求就失败了。
所以在很多情况下,nginx会作为lvs的节点进行负载均衡,这样,既可以避免nginx的性能造成很严重的带宽瓶颈,也可以利用nginx的错误重传避免lvs一锤子买卖,还能利用nginx的各种高级功能,包括https卸载,报文头修改等。
以上就是nginx和lvs各自的优劣以及适合的使用环境的详细内容,更多关于nginx和lvs对比的资料请关注开心学习网其它相关文章!
- dockernginx服务器教程(Docker镜像+nginx 部署 vue 项目的方法)
- nginx+ssl配置详解(nginx配置ssl实现https的方法示例)
- jenkins 设置gitlab(jenkins+gitlab+nginx部署前端应用实现)
- 实战部署nginxdocker(基于Docker、Nginx和Jenkins实现前端自动化部署)
- nginx的请求处理(nginx处理http请求实现过程解析)
- nginx查看rewrite日志(Nginx Rewrite使用场景及配置方法解析)
- nginx给需要转发的链接添加参数(Nginx 根据URL带的参数转发的实现)
- nginx动态路径配置(Nginx本地目录映射实现代码实例)
- nginx负载均衡5种方法(Nginx如何配置负载均衡)
- linux安装nginx启动页面访问不到(apache,nginx上传目录无执行权限的设置方法)
- nginx把https转为http请求(使用nginx方式实现http转换为https的示例代码)
- nginxdjango部署(详解Django+uwsgi+Nginx上线最佳实战)
- nginx路径匹配优先级(Nginx的location的常见规则优先级问题)
- django框架全面讲解(Django uwsgi Nginx 的生产环境部署详解)
- tomcat docker 性能(Docker Nginx容器和Tomcat容器实现负载均衡与动静分离操作)
- nginx报错能看到错误代码(nginx提示:500 Internal Server Error错误的解决方法)
- 浙江省一个县,人口超40万,建县历史超1100年(浙江省一个县人口超40万)
- 五代十国南唐历代国君(五代十国南唐历代国君)
- 飞机引进工程师杨隆 匠人匠心,只争朝夕(飞机引进工程师杨隆)
- 三人行,她们是育人路上的 铁三角 团队(她们是育人路上的)
- 阴阳师 孟婆山兔CP不倒 新皮肤草稿 孟婆兔 让痒痒鼠点赞(阴阳师孟婆山兔CP不倒)
- 阴阳师孟婆御魂推荐 孟婆御魂搭配毕业套(阴阳师孟婆御魂推荐)
热门推荐
- tomcat不显示图片怎么办(解决Tomcat重新部署后图片等资源被自动删除的问题)
- iis网站提示401 未授权:由于凭据无效,访问被拒绝
- 校园网中有哪几种服务器(学校网站服务器租用考虑的几个因素有哪些)
- python电脑端微信自动化(python使用wxpy实现微信消息防撤回脚本)
- iis警告事件怎么处理(IIS服务器常见错误解析及排错指南、错误代码大全)
- yii2支持的数据库(Yii框架日志操作图文与实例详解)
- mysql分区表的优缺点(MySQL数据表分区策略及优缺点分析)
- 阿里云服务器端口开放(阿里云服务器Windows实例公网网络异常的解决方法)
- SQL Server Profile事件含义
- tomcat在windows下内存配置(浅谈Tomcat内存配置的正确姿势)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9