我的理解是,您目前正在3臺服務器上負載均衡您的負載,因此,對於我來說,您已經在做羣集(可伸縮性部分),而我不確定「羣集它們」的確切含義。你的意思是超越透明故障嗎?
基於序列化的會話聚類:就我而言,應用程序在會話中使用了很多對象。所以我寧願不去解決這個問題。在不久的將來,服務器的數量可能會增加到五個以上。
這隻對你有用,如果你不希望你的用戶在會話失敗的時候鬆開會話。如果你真的想這樣,你需要「持久性會話」(但要注意,這有性能上的成本)下,Tomcat提供several way來實現這一點:使用會話持久性和保存會話共享文件
- 系統,
- 使用會話持久性並將會話保存到共享數據庫,
- 使用內存中複製。
這需要一些真正的實驗臺,但個人而言,內存複製是我的首選解決方案(最佳性能)。避免以任何代價序列化數據庫(根據我的經驗,性能很差)。
兵馬俑:聽起來很有趣,但購買企業許可證不是一種選擇。
我想你在這裏指的是他們的JVM級集羣解決方案。在應用程序下面聚集JVM(vs聚集應用程序本身)是恕我直言的解決方案,當應用程序無法輕鬆聚集時?但是,爲什麼要使用提供這種功能的應用程序服務器來執行此操作?
使應用程序成爲無狀態:聽起來很誘人,儘管它是一項工作。我很想聽聽它的一些設計指南和經驗。
您的意思是不使用HTTPSession
?如果是,爲什麼?你與HTTPSession
面臨什麼問題?你爲什麼要這樣做?
說實話,你試圖達到的目標並不清楚。您已經有了一個可伸縮的解決方案(垂直和水平方向),沒有單點故障(負載平衡器除外,但是...)以及極少數應用程序(例如關鍵生命應用程序,財務應用程序)確實需要透明容錯換句話說,許多人可以沒有生活)。此外,透明容錯在性能和/或硬件方面具有不可忽視的實際成本。所以,真正的問題是:當用戶放棄會話時,你的企業是否會損失那麼多錢?這是關鍵/頻繁嗎?這是否有理由花錢來實現透明容錯?
您的目標是什麼? – 2009-10-19 16:16:30