使用Nginx或HA代理作为负载平衡器的优势

在我们的环境中,我们在不同的集群上使用Nginx和HA Proxy。 使用另一个的优点是什么?

或者,有关负载平衡基本LAMP服务器群集的最佳方法是什么?

(我不打算进行“负载平衡的最佳方式”,因为这显然是特定情况的。)

对于Unix上的开源HTTP负载均衡器,HAProxy和nginx都是很好的select。 在很高的层次上,首先想到的利弊是恕我直言:

nginx的:

  • 可以做SSL卸载(通常是一个biggie)。
  • 具有丰富的内容处理模块,即标题重写,内容压缩等。
  • 有时候可能是“唯一需要的HTTPd”,如果你不需要任何其他的HTTPd,pipe理就更简单了。
  • 使用插件更易于扩展,fx用于路由stream量。

HAProxy的:

  • 可以提供比nginx更高的单服务器性能(特别是在TCP模式下运行时, 已经演示了10gbit / s )。
  • 恕我直言,简单起床和运行基本的普通HTTP负载平衡设置。
  • 变化less一点,特别是稍微老一点的稳定分支经常会去一段时间,而不需要安全性和稳定性更新。

但是如上所述,两者都是很好的select。 挑一个你觉得最舒服的。

这真的取决于你想要做什么。

Nginx可以在集群之间拆分负载,并将特定的域路由到不同的集群。 我们的nginx性能令人满意。 这更像是一个负载路由器。

对于haproxy,我知道它会不断地查询服务器状态,并在将stream量引导到服务器之前检查服务器。 它也有一个界面,你可以查看统计。 nginx我不认为这两个分数。

我们使用nginx作为networking服务器,对此非常满意。 我永远不会回到Apache。 缺点是如果你打算运行PHP; 它需要一些hackery-jiggery使其在fastCGI下工作。

不要忘记把Varnish放在caching中! 这个简单的步骤解决了很多站点Slashdotted / Fireballed的问题!

我不是这方面的专家,但据我所知,HAProxy具有更好的性能,并且在负载均衡方面更具可configuration性。

现在我可以列出一系列比较和基准testing,但是我只需将google结果链接到https://encrypted.google.com/search?q=nginx+vs+haproxy