2010-10-13 24 views
1

假設我在逆向代理/負載均衡器後面有3個Web服務器。目前我使用Apache 2,但不介意切換。如何爲自定義路由配置反向代理/負載均衡器

這些網絡服務器是不相同的。他們擁有不同的本地數據集,這意味着不同類型的請求將在特定的Web服務器上更高效地處理。

我想插入一些自定義路由邏輯到我的負載均衡器,這將在新會話開始時爲其選擇一個Web服務器,然後將該會話綁定到該節點,直到它崩潰(粘滯會話)。

例如:新用戶來到webapp,負載均衡器以某種方式運行我的自定義代碼,此代碼找到有關該用戶的信息,並得出結論,應該在node1上處理此用戶。平衡器將該用戶代理到node1並將其粘貼到它。當另一個用戶來到時,自定義路由邏輯會建議節點3,負載均衡器將代理該用戶。

是否可以使用Apache 2?如果不是,什麼代理/負載均衡器會給我這種能力?

謝謝。

+0

在Server Fault上你會得到更好的幫助。 :) – bzlm 2010-10-13 12:05:39

+0

@artemb,你是否設法達到你想要的? – 2012-12-13 16:04:23

回答

0

Apache mode_proxy_balancerstickyness如果你想留在apache上。請參考Haproxy。摘要的第一行指出:「根據靜態分配的cookie路由HTTP請求;」 你只需要設置一個cookie來知道你想讓用戶卡在哪個後端。

+0

問題是關於自定義路由(將_first_請求路由到特定節點),而不是關於粘性(將_subsequent_請求路由到與第一個節點相同的節點)。 – 2012-12-13 16:03:37