编程技术分享平台

网站首页 > 技术教程 正文

浅谈 Nginx和LVS的各种优缺点(nginx lvs haproxy的区别)

xnh888 2024-09-08 10:59:19 技术教程 38 ℃ 0 评论

一、LVS的负载能力强,因为其工作方式逻辑非常简单,仅进行请求分发,而且工作在网络的第4层,没有流量,所以效率很高。而正因为工作在第4层,所以LVS可以对几乎所有应用进行负载均衡,包括Web、数据库等。

请注意:LVS并不能完全判别节点故障,比如在WLC规则下,如果集群里有一个节点没有配置VIP,将会导致整个集群不能使用。

二、Nginx 工作在网络的第7层,可以对HTTP应用实施比如域名、结构等分流策略。而LVS并不具备这样的功能,所以Nginx可使用的场合要多于LVS。并且Nginx对网络的依赖比较小,理论上只要网页访问正常就能连通。而LVS比较依赖网络环境。只有使用DR模式且服务器在同一网段内分流,效果才能得到较好的保证。

三、Nginx可以通过服务器返回的状态吗、超时等来检测服务器是否发生故障,并会把返回错误的请求重新发送到另一个节点。目前LVS和LDirectd 也支持对服务器内部情况的监控,但不能重新发送请求。比如用户正在上传一个文件,而处理任务的节点出现故障,这时Nginx会把上传请求重新发送到另一台服务器,而LVS在这种情况下则会直接断掉。

四、Nginx还能支持HTTP和Email(但应用不广),LVS所支持的应用在电商方面比Nginx更优胜。

五、Nginx同样能承受很高负载并且能稳定运行,但由于处理流量受限于机器I/O等配置,所以负载能力相对较差。

六、Nginx 安装、配置及测试相对来说比较简单,因为有相应的错误日志进行提示。LVS的安装、配置及测试所花的时间比较长,因为LVS比较依赖网络状态,有可能会经常因为网络问题而配置失败,并且解决问题的难度也相对较大。Nginx本身没有现成的热备方案,所以在单机上运行风险较大,建议配合KeepAlived使用。另外,Nginx可以作为LVS的节点机器使用,充分利用Nginx的功能和性能。当然也可以直接使用Squid等其他具备分发功能的软件。

七、具体应用具体分析。如果是比较小型的网站(每日PV小于100万),用户Nginx就完全可以应对,如果机器也不少,可以用DNS轮询。LVS后用的机器较多,在构建大型网站或者提供重要服务且机器较多时,可多加考虑利用LVS。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表