session分布式處理

2021-09-27 04:40:48 字數 629 閱讀 7267

在支援session複製的web伺服器上,通過修改web伺服器的配置,可以實現將session同步到其他web伺服器上,達到每個web伺服器上都儲存一致的session。

1.優點:**上不需要做支援和修改。

2.缺點:需要依賴支援的web伺服器,一旦更換成不支援的web伺服器就不能使用了,在資料量很大的情況下不僅占用網路資源,而且會導致延遲。

3.適用場景:只適合用於web伺服器比較少且session資料量少的情況。

將使用者的每次請求都通過某種方法強制分發到某乙個web伺服器上,只要這個web伺服器上儲存了對應的session資料,就可以實現會話跟蹤。

優點:使用簡單,沒有額外開銷。

缺點:一旦某個web伺服器重啟或宕機,相對應的session資料將會丟失,而且需要依賴負載均衡機制。

適用場景:對穩定性要求不是很高的業務情景。

這種方式每次發起請求的時候都需要將session資料放到cookie中傳遞給服務端

優點:不需要依賴額外外部儲存,不需要額外配置。

缺點:不安全,容易被盜取或篡改;cookie數量和長度有限制,需要消耗更多網路頻寬。

適用場景:資料不重要、不敏感且資料量小的情況。

這四種方法、相對來說,session集中管理更加可靠,使用也是最多的。

分布式系統session處理

分布式系統中同乙個使用者的請求可能會被分發到不同的伺服器上,而session是儲存在單個伺服器上,所以有可能會導致session失效,對於前端使用者最明顯的感覺就是需要重新登入。主要有如下幾種解決方案 1.session sticky 方式 由負載均衡來負責標記每次的請求,將同乙個會話請求傳送到同乙...

分布式環境Session處理方法

最近做的乙個專案中,操作的時候需要對手機號進行簡訊驗證。對簡訊驗證的步驟 一 獲取驗證碼,把獲取得到的驗證碼儲存到該使用者的session中 二 然後把該驗證碼以簡訊的方式傳送到手機上。三 使用者在進行操作的時候,所要提交的表單中需要包含,要操作的資訊和輸入的驗證碼。後台會把使用者輸入的驗證碼與se...

分布式session共享

為什麼會出現session共享問題?客戶端與伺服器互動時會產生唯一的sessionid用於標記使用者,但是在分布式架構中,如果還是採用 session 的方式,使用者發起請求,通過 nginx 做請求 時,並不知道是 到伺服器1還是伺服器2,所以就會出現session共享問題。今天主要記錄使用 sp...