如果我使用具有應用程序控制的會話粘性的HTTP負載均衡器(在這種情況下爲Amazon的AWS),負載平衡器顯然必須記住映射中的所有會話Cookie及其目標實例。 因此,這張全球地圖將會/必須保留「session-cookie與實例」的關係。會話如何與Amazon AWS的負載均衡器知道會話Cookie已過期?
如果Web應用程序用戶決定關閉瀏覽器,則會話超時後,會話將在應用程序服務器上靜靜地死去。
這意味着負載均衡器在他的全局映射中仍然具有「會話 - cookie到實例」關係。由於此映射現在無用,會話cookie沒有過期日期,因此它不得不進行垃圾回收(以釋放資源)。
我的問題是:
如何負載平衡器一般處理這種情況下不耗盡資源?
如何在特定情況下優先處理Amazon AWS負載平衡器,而不會耗盡資源?
LB也可以做其他的事情,例如在HTML頁面中重寫URL到客戶端,如果客戶端不支持cookies,這將很有用。 – jarmod 2013-03-15 11:18:51
謝謝。是的,它看起來像是#1。 AWS設置一個名爲AWSELB的cookie。這個cookie非常大,顯然是HEX編碼的。我嘗試了一個簡單的解碼,但它沒有任何用處。我想它也會以某種方式壓縮,以儘可能減小尺寸。 – chi 2013-05-22 09:18:16
謝謝,我認爲這是正確的,但是當我爲AWS LB選擇「使用應用程序生成的cookie」(例如JSESSIONID)時,AWS LB實際上不會設置AWSELB cookie。但JSESSIONID由LB設置,它看起來與App Server創建的cookie完全相同。因此它不能包含LB的有用實例路由信息,除非LB記得這一點。因此,LB必須將JSESSIONID信息**與實例信息**一起存儲/如何能夠將未來的請求與他相同的JSESSIONID路由到正確的後端實例。對? – chi 2017-03-02 07:38:02