LVS和NGINX实现负载均衡功能的比较

LVS:Linux虚拟服务器,是一个虚拟的服务器集群系统。由章文嵩博士成立。
NGINX:是一款轻量级的web服务器/反向代理服务器及电子邮件(IMAP/P0P3)代理服务器,并在一个BSD-like协议下发行。
负载均衡(Load Balance)是集群技术(Cluster)的一种应用。负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力。目前最常见的负载均衡应用是Web负载均衡。根据实现的原理不同,常见的web负载均衡技术包括:DNS轮询、IP负载均衡和CDN。其中IP负载均衡可以使用硬件设备或软件方式来实现。
优缺点:一、LVS的负载能力强,因为其工作方式逻辑非常简单,仅进行请求分发,而且工作在网络的第4层,没有流量,所以效率很高。而正因为工作在第4层,所以LVS可以对几乎所有应用进行负载均衡,包括Web、数据库等。
LVS并不能完全判别节点故障,比如在WLC规则下,如果集群里有一个节点没有配置VIP,将会导致整个集群不能使用。
二、Nginx 工作在网络的第7层,可以对HTTP应用实施比如域名、结构等分流策略。而LVS并不具备这样的功能,所以Nginx可使用的场合要多于LVS。并且Nginx对网络的依赖比较小,理论上只要网页访问正常就能连通。而LVS比较依赖网络环境。只有使用DR模式且服务器在同一网段内分流,效果才能得到较好的保证。
三、Nginx可以通过服务器返回的状态吗、超时等来检测服务器是否发生故障,并会把返回错误的请求重新发送到另一个节点。目前LVS和LDirectd 也支持对服务器内部情况的监控,但不能重新发送请求。比如用户正在上传一个文件,而处理任务的节点出现故障,这时Nginx会把上传请求重新发送到另一台服务器,而LVS在这种情况下则会直接断掉。

你可能感兴趣的:(LVS和NGINX实现负载均衡功能的比较)