2012-01-07 36 views
3

我創建了Play!應用程序工作正常。 例如: 我在提交時創建了一個登錄頁面,它將轉到首頁模塊的loginCheck方法,該方法驗證並重定向到內部頁面。通過負載均衡器訪問Play實例

我有6個實例在機器上運行。

我在另一臺機器上創建了Load Balancer Play應用程序。這將指向任何一個實例。我想要使​​用Load Balancer進行數據庫請求和Web請求。

數據庫請求 - 它只是更新數據庫並在那裏結束。

Web請求 - 它(LoadBalancer)必須發送請求到實例,它將有一個響應,我將通過LoadBalancer在網頁中顯示。

例如: 對於第一個Web請求將呈現登錄頁面。所以我發送請求作爲網頁。 它將發送到實例並返回響應(登錄頁面)。我能夠渲染。

我的問題是登錄頁面表單提交將採取到不在LoadBalancer應用程序內的首頁模塊的logincheck方法。我想通過LoadBalancer將頁面發送迴帶有這些後置值的實例,我該如何做到這一點。

(Key -> Server = play)     

     Request          Request             Request  
-------------------------->  |  LB  |------------------------------------> | Play LB  |----------------------------> | Play Instance 

<------------------------  |    |<-------------------------------------------------------------------------------------------------| 
     Response                         Response 


LB - Load Balancer 
+0

沒有真正清楚,我要在這裏做什麼... – Somatik 2012-01-07 12:49:55

+1

哇,你確定你要編寫自己的負載均衡?那裏有很多! – Stefano 2012-01-07 16:46:37

+0

@Stefano你可以給我一些負載平衡器的鏈接 – Arasu 2012-01-09 04:16:47

回答

0

我們創建使用網狀這是一個開放的圖書館負載均衡器。工作正常。

2

根據我們的意見..

記住,我正在寫爲回答這個問題,因爲我無法適應這些鏈接成一個評論,因爲它不是一個真正的答案,你最初的問題!

然後,一個簡單的問題:你是否試圖寫一個負載平衡器出於興趣,或者你確定你的應用程序將需要一個?配置良好的機器可能需要多達數百萬個請求,而沒有太多問題。

反正現在關於你的問題..

這些都是一些精確的鏈接(如你所見,相當湖區因爲它真的取決於熱點問題研究爲您的部署環境,究竟需要負載均衡)

在堆棧溢出的Load Balancing tag相當活躍;您可以將其與Java或更具體的主題結合使用,例如:Load Balancing on Java

但我承認這非常寬泛。

現在,我指出你在他們/ category /中的幾個頂級LB。這意味着,根據您的真實需求,您選擇的解決方案(自制或現有產品)將有所不同。

首先,負載平衡是體系結構 ..的問題。使用AWS或類似的解決方案時,往往是一個好主意,當你想寫你的應用程序,但能夠在你的負載增長時啓動額外的實例。

但是,如果你有一個應用程序有許多真正的讀取和寫入很少,你可能希望把重點放在分發數據庫和配置你的主從和你的應用程序(一個或多個),以優化讀取和寫入。

等等。

+0

這真的很有用 – Arasu 2012-01-09 06:09:06