我有一個Web應用程序,不基於映射到數據庫記錄,使得每個AJAX POST並不需要或想要一個Tomcat會話持久性cookie大部分登錄用戶相關的行動。條件tomcat的粘性會話(集羣)
在極少數的ajax請求中,我有少量的servlet會話數據爲登錄用戶保存,我希望會話持續很長時間(只要他有瀏覽器開放),即使長時間不活動。
現在,我的理解是,有一個tomcat羣集,您的選擇粘性會話或複製會話。在大多數情況下,我希望我的負載均衡器將流量發送到最少加載的tomcat實例,並且servlet永遠不會獲取或創建會話。在極少數情況下,我需要一個會話並訪問少量的會話數據。
此外,我使用的是Apache mod-proxy。這是否限制了選擇?
如果我要選擇粘性會話負載平衡,那麼絕大多數不需要粘性的ajax請求都會轉到同一個tomcat服務器。但有人說,如果你不擔心故障轉移,粘性會話會提供更好的性能。
有人能告訴我什麼是正確的選擇在我的情況?
我的一個想法是,當我在tomcat中創建一個會話時,我還創建了一個MYSESSIONID cookie,用於將特定servlet(路徑)設置爲與tomcat sessionid相同的值。然後,在我需要訪問會話數據的所有少數servlet請求中,我通過這一個路由servlet,負載均衡器可以創建與MYSESSIONID cookie關聯的粘性會話。這是一個好的解決方案嗎?
Andy