簡體   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