本文详细介绍了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作为网络层负载均衡(导入流控制模块后,第四层也适用),可以表现出负载分担、预留转换、HTTPS写入、网络带宽限速、隐藏真实IP、隐藏真实端口号、屏蔽攻击等能力,LVS不能显示。
[对比]
lvs和nginx都是现在比较流行的负载均衡方法。两者各有利弊,在工作环境中一定要根据各自的特点来选择。
[他们相互配合]
在应用中,一般前端开发策略应该是lvs,即dns的偏置应该是lvs均衡器。关键原因在于nginx功能齐全,但作为后端网络服务器,nginx的服务器带宽成为巨大的短板。
但是当lvs作为负载均衡时,一旦接受请求的网络服务器后端开发出现问题,请求就会失败。
所以很多情况下会使用nginx作为lvs的连接点来进行负载均衡。那样既能防止nginx的性能造成严重的网络带宽短缺,又能防止lvs被利用nginx的不正确重传一锤子买卖,还能利用nginx的各种高级功能,包括卸载https,改变消息格式头等。
以上分别是nginx和lvs的详细内容,以及它们适合的应用自然环境。关于nginx和lvs对比的大量资料,请关注其他相关文章!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)