sticky session 很常見嗎?
我自己的話都會套 sticky 因為 rolling server 時都會有新舊版共存的問題,如果用戶一個網頁裡的十幾個 requests,有一半到舊 server,而另一半到新 server 這樣會很頭大。
還是有什麼更好的解?特別是 rolling upgrade 時。
在雲端的環境,一群的機器不夠用,可以開兩群啊 XD
聽過有些公司是不用 rolling restart 的,新版的程式放到一群新的伺服器上,舊的 session 就讓它繼續對到舊的伺服器上,讓它們慢慢的放到過期,才把機器全關掉。
Sticky Session很常見啊。最大的好處是不需要一個External Cache Server去Share Session Data。當然你說的Rolling Upgrade也是一個優點。
缺點就是那台掛了,那台的Session Data就消失了,不過看應用程式特性。也許對大部分的應用這個沒有那麼嚴重,畢竟Sesion Data也只是另外一種Cache而已。
如果有 session state,那 sticky 是個很自然的選擇。
但我好奇的是,像是現在 SPA 盛行,server session 都轉嫁到 client browser 裡了,在這個前提下還需要 sticky 嗎?在 rolling upgrade 的前提下,我只想到用 sticky 的方式才能簡單去除版本問題,其他方式感覺要各方配合 (cache, proxy, app server 都要處理),非常麻煩。
我是不是漏了什麼更好的技術...
SPA架構下還是可以用Session啊 XD。只是原本request html改成ajax request json。還是你說的是把所有的資料都放在cookie? 這篇文章也有說這種case,但是缺點就是 1. Cookie 的长度限制 2. 安全性 3. 数据中心外部带宽的消耗 4. 性能影响,服务器处理每次的请求的内容又多了
SPA 是可以有 session ,不過這樣做的人很多嗎?通常都是放 localStorage,連 cookie 都不放了。