2011-05-19 100 views
3

我們正在調查是否有可能使用HAProxy的加載多個Tomcat服務器的平衡。我們希望對所有請求使用HTTPs,並通過JSESSIONID cookie使用會話。 HAProxy本身不支持SSL,但我們可以在其前面使用stunnel。HAProxy的負載均衡HTTPS和會話故障轉移

在此設置記:

1)我們是否有使用粘性會話(後續請求總是去同一個Tomcat實例)?

2)如果我們不得不使用粘性會話那麼我們如何能夠解決更新我們的Tomcat實例有一個新的Web應用程序的部署,而不必強制用戶註銷(失去他們的會話)?

回答

4

您不必使用粘性會話,但是如果您不使用粘性會話,則需要使用共享會話解決方案,如http://tomcat.apache.org/tomcat-7.0-doc/config/manager.html(JDBC會話存儲可能是要走的路)所述, 。我敢打賭,你可以找到代碼來在Redis或Memcache中進行會話存儲,但我沒有廣泛地看過。

一旦你這樣做,它也將解決更新情況的問題,雖然我的經驗,沒有那麼Web應用程序的更新自動失效會議(似乎只有全面重啓做到這一點)。不過,我必須仔細看看。

+0

這是正確的。您的會話應在中心位置提供,例如網絡可訪問密鑰/值存儲。 正如** Femi **所述,您不需要使用粘性會話。 HAProxy有一個選項:** balance source **,它將跟蹤用戶的源IP並處理對同一個tomcat實例的轉發請求。 – a1wca 2011-05-27 05:31:52