linux服务器之LVS、Nginx和HAProxy负载均衡器对比总结

LVS特点:

1.抗负载能力强,使用IP负载均衡技术,只做分发,所以LVS本身并没有多少流量产生; 
2.稳定性、可靠性好,自身有完美的热备方案;(如:LVS+Keepalived) 
3.应用范围比较广,可以对所有应用做负载均衡; 
4.不支持正则处理,不能做动静分离。

常用四种算法:

1.rr:轮叫,轮流分配到后端服务器; 
2.wrr:权重轮叫,根据后端服务器负载情况来分配; 
3.lc:最小连接,分配已建立连接最少的服务器上; 
4.wlc:权重最小连接,根据后端服务器处理能力来分配。 
可以采用ipvsadm –p(persistence)来保持session,默认是300/s

Nginx特点:

1.工作在7层,可以对做正则规则处理;(如:针对域名、目录进行分流) 
2.配置简单,能ping通就能进行负载功能,可以通过端口检测后端服务器状态,不支持url检测; 
3.抗高并发,采用epoll网络模型处理客户请求; 
4.只支持HTTP和EMail,应用范围比较少; 
5.nginx主要是HTTP和反向代理服务器,低系统资源消耗。

常用四种算法:

1.RR:(默认)轮询,轮流分配到后端服务器; 
2.weight:根据后端服务器性能分配; 
3.ip_hash:每个请求按访问ip的hash结果进行分配,并发小时合适,解决session问题; 
4.fair:(扩展策略),默认不被编译nginx内核,根据后端服务器响应时间判断负载情况,选择最轻的进行处理。

HAProxy特点: 

1.支持两种代理模式:TCP(四层)和HTTP(七层),支持虚拟主机; 
1.配置简单,支持url检测后端服务器状态; 
2.仅做负载均衡软件使用,在高并发情况下,处理速度高于nginx; 
3.TCP层多用于Mysql从(读)服务器负载均衡。

四种常用算法:

1.roundrobin:轮询,轮流分配到后端服务器; 
2.static-rr:根据后端服务器性能分配; 
3.leastconn:最小连接者优先处理; 
4.source:根据请求源IP,与Nginx的IP_Hash类似。 
为什么要解决session会话呢?

负载均衡环境下,每个用户都有可能不固定的访问后端服务器,在有些应用情况下,是必须要求在一定时间内同一用户访问的所有请求都分配给后端同一台服务器去处理,例如:电子商务网站,用户注册页面等,一刷新页面,就会分配到后端的另一台服务器上,那刚才的页面上的信息也都没了,这种情况下,分配同一台服务器处理请求是至关重要的!

时间: 2024-11-08 21:27:35

linux服务器之LVS、Nginx和HAProxy负载均衡器对比总结的相关文章

linux服务器之LVS、Nginx和HAProxy负载均衡器的对比

LVS特点: 1.抗负载能力强,使用IP负载均衡技术,只做分发,所以LVS本身并没有多少流量产生: 2.稳定性.可靠性好,自身有完美的热备方案:(如:LVS+Keepalived) 3.应用范围比较广,可以对所有应用做负载均衡: 4.不支持正则处理,不能做动静分离. 常用四种算法: 1.rr:轮叫,轮流分配到后端服务器: 2.wrr:权重轮叫,根据后端服务器负载情况来分配: 3.lc:最小连接,分配已建立连接最少的服务器上: 4.wlc:权重最小连接,根据后端服务器处理能力来分配. 可以采用ip

LVS、Nginx和HAProxy负载均衡器对比总结

LVS特点: 1.抗负载能力强,使用IP负载均衡技术,只做分发,所以LVS本身并没有多少流量产生: 2.稳定性.可靠性好,自身有完美的热备方案:(如:LVS+Keepalived) 3.应用范围比较广,可以对所有应用做负载均衡: 4.不支持正则处理,不能做动静分离. 常用四种算法: 1.rr:轮叫,轮流分配到后端服务器: 2.wrr:权重轮叫,根据后端服务器负载情况来分配: 3.lc:最小连接,分配已建立连接最少的服务器上: 4.wlc:权重最小连接,根据后端服务器处理能力来分配. 可以采用ip

LVS Nginx和HAproxy的区别,怎么选择最好

LVS Nginx和HAproxy有什么区别呢? LVS:Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统. Nginx:Nginx是一款轻量级的web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行. HAproxy:HAproxy是一个使用C语言编写的自由及开放源代码软件[1],其提供高可用性,负载均衡,以及基于TCP和HTTP的应用程序代理. 通过概念方面,我们可以看得出来,都可以提供

完解LINUX服务器之NTP服务

NTP:Network Time Protocol  是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶意的协议攻击. 1.安装: yum install NTP yum install tzdata NTP协议使用的是UDP,Port:123 2.配置文件: /etc/ntp.conf                #NTF服务器的主

Linux服务部署:nginx服务 Samba服务 nfs服务

nginx服务 源码安装: yum install gcc-* glibc-* openssl openssl-devel pcre pcre-devel zlib zlib-devel -y ls tar xvf nginx-1.10.3.tar.gz cd nginx-1.10.3 ls ./configure ./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pi

XPS1330 作为Linux服务器之安装配置计划

  # Task 状态 完成时间 备注 博文链接  1.  打通SSH  未开始  --  安装系统后已经具备  --  2.  打通FTP  未开始  --  安装系统后已经具备  --  3.  安装VNC  未开始  --      4.  安装MySQL  未开始  --      5.  安装Tomcat  未开始  --      6.  安装Apache  未开始  --      7.  整合Apache和Tomcat  未开始  --      8.  安装Was Libert

linux服务基础之nginx配置详解

nginx简单介绍:https://www.cnblogs.com/ckh2014/p/10848670.html nginx编译安装:https://www.cnblogs.com/ckh2014/p/10848623.html nginx相关配置: 主配置段的指令: 正常运行的必备配置 1. user USERNAME [GROUPNAME] 指定运行worker进程的用户和组: 比如:user nginx nginx; 2. pid /path/to/pid_file; 指定nginx守护

linux服务器之dns

DNS的本质是什么? Domain Name System = DNS(域名系统)其实是一个数据库,是用于 TCP/IP 程序的分布式数据库,同时也是一种重要的网络协议.DNS储存了网络中的 IP 地址与对应主机的信息,邮件路由信息和其他网络应用方面的信息,用户通过询问解决库(解决库发送询问并对DNS回应进行说明)在 DNS 上查询信息. DNS的作用是什么? DNS是网络分层里的应用层协议,事实上他是为其他应用层协议工作的,简单说就是把域名,或者说主机名转化为IP地址(同时也提供反向域名查询的

linux服务器之dhcp

安装dhcp服务(目的:分配ip,dns)yum install -y dhcp      ##安装dhcp cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf       根据dhcp配置中文件说明vim /etc/dhcp/dhcpd.conf ~~~~~~~~~~~7 option domain-name "zpy.org";       ##指定域名8 option domain-name-server