繁体   English   中英

代理选择:mod_proxy_balancer,nginx +代理平衡器,haproxy?

[英]Proxy choices: mod_proxy_balancer, nginx + proxy balancer, haproxy?

我们在http://hansard.millbanksystems.com上运行一个专用加速器上的Rails站点。 我们目前使用mod-proxy-balancer进行Apache设置,代理运行该应用程序的四个mongrel。

有些请求相当慢,为了防止其他请求排在其后排队的情况,我们正在考虑代理选项,如果有请求,会将请求定向到空闲的mongrel。

选项似乎包括:

  • 重新编译Apache的mod_proxy_balancer,如http://labs.reevoo.com/所述

  • 使用Solaris的公平代理平衡器编译nginx

  • 为Open Solaris编译haproxy(尽管这可能不适用于SMF)

这些合理的选择吗? 我们错过了什么明显的错 我们非常感谢您的建议。

Apache是​​一种用于平衡的奇怪野兽。 它当然有能力,但就像用坦克去购物一样。

Haproxy / Nginx更专门针对这项工作量身定制。 您应该获得更高的吞吐量并同时使用更少的资源。

mod_proxy_balancer ,nginx以及几乎所有其他软件相比,HAProxy提供了更丰富的负载均衡功能。

特别是对于您的情况,日志输出是高度可定制的,因此应该更容易识别缓慢请求发生的时间,地点和原因。

此外,还有一些不同的负载分配算法可用,具有良好的自动故障转移功能。

37Signals在这里有一篇关于Rails和HAProxy的帖子(最初在这里看到)。

如果要避免使用Apache,可以使用备用Web服务器(如nginx或lighttpd)以及某种类型的负载均衡器(如Pound或基于硬件的解决方案)部署Mongrel群集。

Pounds( http://www.apsis.ch/pound/ )对我来说效果很好!

除了编写包装器脚本之外,haproxy和SMF的唯一问题是你不能使用它的软重启功能来实现'refresh'操作。 我在这里详细介绍了这一点

然而,IME haproxy在solaris上绝对是防弹的,我会高度推荐它。 我们通过solaris 10上的单个haproxy实例,每天从几百GB到几TB的运输,到目前为止(触摸木材)在2年多的运行中,我们没有任何问题。

Pound是我过去成功使用的HTTP负载均衡器。 它包括一个动态缩放功能,可以帮助您解决特定问题:

DynScale(0 | 1):启用或禁用动态重新缩放代码(默认值:0)。 如果启用,Pound将定期尝试修改后端优先级,以便均衡来自各个后端的响应时间。 可以为特定服务覆盖此值。

磅很小,文档齐全,易于配置。

我已经成功使用了mod_proxy_balancer + mongrel_cluster(小流量网站)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM