2013-03-18 107 views
1

目前我們在4個不同的tomcat實例上部署了相同的Web應用程序,每個實例都運行在獨立的機器上。負載均衡器將請求分發給這些服務器。我們的Web應用程序進行數據庫調用,維護緩存(鍵值對)。所有的tomcat實例都從相同的數據源(另一個服務器)讀取相同的數據(XML)並將其提供給客戶端。今後,我們計劃從請求中收集一些使用情況數據,並將其存儲在數據庫中。所有tomcat服務器之間的這個功能應該是通用的(一個模塊)。 Tomcat集羣的優勢和劣勢

現在我們正在考慮使用tomcat集羣。我做了一些研究,但我無法弄清楚如何分離數據讀取操作,即從所有使其通用的tomcat web應用程序中讀取同一數據源(另一個服務器)部分的相同數據(XML)。因此,一旦一臺服務器從服務器獲取數據,它將維護它(可能在緩存中),並且相同的數據可以被其他服務器用於服務客戶端。現在這個功能可以使用分佈式緩存來實現。但是還有其他模塊可以在所有其他tomcat實例中通用。

那麼基本上,使用Tomcat集羣是否有優勢?如果是的話,我該如何實現所有tomcat服務器通用的模塊。

+0

沒有答案!!!這看起來不像是一個難題(或者是?!!!)。有人請讓我知道如果我缺少像添加適當的標籤或描述不明確等。謝謝。 – JProgrammer 2013-03-19 21:56:02

回答

0

閱讀Tomcat configuration referenceclustering guide。可用的羣集功能如下:

tomcat羣集實現提供會話複製, 上下文屬性複製和羣集範圍的WAR文件部署。

因此,通過集羣,您將獲得:

  • 高可用性:當一個節點發生故障,另一個將能夠接管,而不會丟失數據訪問。例如,HTTP會話仍然可以在用戶不知道錯誤的情況下處理。
  • 服務器場部署:您可以將.war部署到單個節點,其餘部分將自動同步。

的成本主要表現在:

  • 複製意味着節點之間的對象序列化。在某些情況下,這可能是不受歡迎的,但也可以使用fine tune

如果你只是想在節點之間共享一些狀態,那麼你根本不需要集羣(除非你打算使用上下文或會話複製)。只需使用數據庫和/或分佈式緩存模型,如ehcache(或其他)。