因此,我試圖將我的應用程序遷移到雲,特別是即時使用RackSpace和迄今爲止很好,得到的一切都指向X,並發現負載平衡器不提供粘滯會話通過https。ColdFusion和雲集羣負載平衡會話
進一步尋找亞馬遜似乎也不這樣做。
很明顯,我需要維護服務器上的用戶或者以某種方式跨實例共享會話數據。
我認爲做一個硬重定向到你登陸的服務器,然而這將是壞的,就像書籤的用戶將留在該服務器上。
有任何建議。
因此,我試圖將我的應用程序遷移到雲,特別是即時使用RackSpace和迄今爲止很好,得到的一切都指向X,並發現負載平衡器不提供粘滯會話通過https。ColdFusion和雲集羣負載平衡會話
進一步尋找亞馬遜似乎也不這樣做。
很明顯,我需要維護服務器上的用戶或者以某種方式跨實例共享會話數據。
我認爲做一個硬重定向到你登陸的服務器,然而這將是壞的,就像書籤的用戶將留在該服務器上。
有任何建議。
您可以使用客戶端變量,而不是會話變量。區別在於客戶端變量必須是簡單的名稱=值對,但它們也可以具有不同的存儲位置以適合您的請求。根據您的需要,您可以選擇通過「cookie存儲」或在數據庫中將值存儲在瀏覽器中。您可以選擇客戶端變量在Coldfusion管理員中的存儲方式。這些選項中的任何一個都可以將存儲從特定應用程序服務器實例轉移出來,這正是簡單集羣所需的。如果您不太關心特定值的安全性,請選擇基於cookie的方式;如果這是一個問題,請選擇數據庫。顯然,如果您選擇數據庫,則需要將所有應用程序服務器配置爲指向同一個數據庫。
編輯
我不知道你在談論現有的應用程序。是的,那肯定會成爲問題。在這種情況下,您需要做的是配置您的負載均衡器,將給定的CFID和CFToken(從Cookie中讀取)與羣集中的特定節點相關聯。這樣,「粘性」對最終用戶來說是透明的,並且只會持續與會話一樣長。
編輯
再次,根據您的意見 - 因爲你有企業版,您可以使用內置的由該版本提供集羣。這裏有一篇文章討論這個功能 - http://www.adobe.com/devnet/coldfusion/articles/clustering_cf8.html
向下滾動一下,直到找到「集羣和ColdFusion」部分 - 它有很好的信息。
更改整個應用程序不是一個真正的選擇。 – 2011-12-19 21:18:35
請參閱上面的更新。 – 2011-12-19 21:26:44
是的,但我原來的帖子解釋說ssl上的粘性會話不受支持。不過,我發現他們將在2012年年中左右獲得支持 – 2011-12-20 01:01:30
您是否在多服務器配置中運行ColdFusion? – 2011-12-19 13:04:40
不,只是雲中的企業實例。 – 2011-12-20 01:02:30
如果您在每個vps上運行'ha-proxy'或'nginx',而這又會根據標頭將內容推送到正確的服務器,但如果更改應用程序,則可能比配置輔助diy負載平衡器的工作要少 – matiu 2011-12-20 23:53:45