一:分散式環境下的session丟失問題
在使用nginx作為負載均衡和反向代理的情況下,有3中解決方案
1:nginx有多種負載均衡策略,分別是輪詢,權重,ip_hash。 採用ip_hash作為負載均衡策略,這樣使用同一個ip訪問的請求,都會轉發到同一臺伺服器。
優點:程式碼侵入性小
缺點:會導致每臺機器的負載會出現較大的差異
2:tomcat的session共享和複製。其中一臺tomcat的session發生變化後,其他的tomcat也會進行改變
優點:程式碼侵入性小
缺點:資料量大的情況下,會佔用較大的網路io,已經佔用伺服器的記憶體。
3:session統一儲存到快取伺服器redis中
優點:穩定,也不會佔用伺服器資源
缺點:程式碼侵入性大,要修改應用的程式碼。
二:分散式環境下的資料一致性