2012-08-02 192 views
5

我正在開發一個webapp項目,我們正在考慮將其部署到多個服務器上。Spring +負載平衡/羣集

對於使用Spring進行集羣/負載平衡,您有什麼建議?

需要考慮哪些問題?

例如:單身人士如何在一羣機器中表現?會話複製呢?還有其他問題需要考慮嗎?

回答

10

以下是可能出現的問題的列表(不一定spring相關):

  • 狀態Bean - 如果你的bean有狀態,就像收藏積累的東西或專櫃,你需要思考這是否狀態應該被複制或不復制。例如。這個計數器應該是整個集羣中的一個JVM還是全局的?在後一種情況考慮

  • 文件系統 - 只要所有實例都使用同一個數據庫,一切都很好。但是,如果一個節點寫入磁盤,其他實例無法讀取它。解決方案?對所有存儲或分佈式文件系統使用數據庫

  • HTTP會話 - 使用粘滯會話或複製會話。如果您要進行復制,請儘可能減小會話數量。

  • 異步工作 - 如果你有一個工作每小時運行一次,它應該運行在每臺機器上,還是隻運行在一個專用的計算機上(或者隨機)?

+0

Thanks Tomasz!最後一個問題:集羣環境中的Spring單例會發生什麼? – balteo 2012-08-02 10:05:23

+2

@balteo:什麼也沒有,每個Spring應用程序創建一個實例,因此每個節點獲得一個單例實例。 – 2012-08-02 10:40:42

+0

感謝您的貢獻! – balteo 2012-08-02 10:43:06