美河学习在线 www.eimhe.com
DOCS
http://wiki.nginx.org/Main
http://www.nginx.com.cn
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nginx lvs 比较
http://os.51cto.com/art/201112/305750.htm
LVS 和 Nginx 都可以用作多机负载的方案,它们各有优缺,在生产环境中需要好好分析实际
情况并加以利用。
首先提醒,做技术切不可人云亦云,我云即你云;同时也不可太趋向保守,过于相信旧有方
式而等别人来帮你做垫被测试。把所有即时听说到的好东西加以钻研,从而提高自己对技术
的认知和水平,乃是一个好习惯。
下面来分析一下两者:
一、lvs 的优势:
1、抗负载能力强,因为 lvs 工作方式的逻辑是非常之简单,而且工作在网络 4 层仅做请求
分发之用,没有流量,所以在效率上基本不需要太过考虑。在我手里的 lvs,仅仅出过一次
问题:在并发最高的一小段时间内均衡器出现丢包现象,据分析为网络问题,即网卡或
linux2.4 内核的承载能力已到上限,内存和 cpu 方面基本无消耗。
2、配置性低,这通常是一大劣势,但同时也是一大优势,因为没有太多可配置的选项,所
以除了增减服务器,并不需要经常去触碰它,大大减少了人为出错的几率。
3、工作稳定,因为其本身抗负载能力很强,所以稳定性高也是顺理成章,另外各种 lvs 都
有完整的双机热备方案,所以一点不用担心均衡器本身会出什么问题,节点出现故障的话,
lvs 会自动判别,所以系统整体是非常稳定的。
4、无流量,上面已经有所提及了。lvs 仅仅分发请求,而流量并不从它本身出去,所以可以
利用它这点来做一些线路分流之用。没有流量同时也保住了均衡器的 IO 性能不会受到大流
量的影响。
5、基本上能支持所有应用,因为 lvs 工作在 4 层,所以它可以对几乎所有应用做负载均衡,
包括 http、数据库、聊天室等等。
另:lvs 也不是完全能判别节点故障的,譬如在 wlc 分配方式下,集群里有一个节点没有配
置 VIP,会使整个集群不能使用,这时使用 wrr 分配方式则会丢掉一台机。目前这个问题还
在进一步测试中。所以,用 lvs 也得多多当心为妙。
二、nginx 和 lvs 作对比的结果