我有一个网络服务。它部署在4台AWS EC2计算机上,以平衡来自客户端的负载。我正在考虑两种解决方案。一种是使用AWS ELB。另一个是我自己使用node-http-proxy来实现反向代理。它将连接分布在4台计算机上。

它们都可以实现负载平衡功能。我不知道哪个更好。 AWS ELB可能比反向代理更强大。但是反向代理解决方案具有成本效益。我不需要支付AWS ELB。

有谁可以发表评论,哪种解决方案更好?又为什么呢?

谢谢,

杰弗里

最佳答案

我在下面总结了3boll提供的文章。我正在使用AWS。基于下面的比较,我认为ELB更合适。

性能


ELB具有最佳性能。
HAProxy负载较小(少于30个连接)时效果更好。
Nginx在重负载下更好。


SSL支持


ELB和Nginx均支持SSL。
HAProxy不支持SSL。


算法选项


HAProxy在此领域具有最多的选择,支持轮询,最少连接,加权等。
Nginx仅支持循环和加权。
AWS ELB仅支持轮询。


监控解决方案


Nginx是标准的Web服务器,可以通过任何日志监控器(例如Nagios)轻松监控,此外,还有一个名为Scout的插件(我没有尝试过)看起来很有趣。
Scout还支持HAProxy,还有其他一些选项,包括Nagios等日志监视器。
CloudWatch支持AWS ELB,因此,如果您使用的是AWS,那可能是最简单的解决方案。

关于node.js - AWS ELB版本node-http-proxy反向代理以实现负载平衡,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16611236/

10-12 17:09