分布式SESSION一致性

2022-01-10 13:09:30 字數 1154 閱讀 8205

session是伺服器為客戶端建立的乙個會話,儲存使用者的相關資訊,用以標識使用者身份等。在單伺服器環境下是不需要考慮會話的一致性的問題的,但是在集群環境下就會出現一些問題,假如乙個使用者在登入請求時負載均衡到了a伺服器,a伺服器為其分配了session,下次請求資料時被分配到了b伺服器,此時由於b伺服器不存在此使用者的session,此使用者會被重定向到登入頁面,這種情況是不合理的業務邏輯,所以需要維護session的一致性。

多個伺服器之間互相同步session,即a伺服器生成乙個session資訊後同步傳輸到bcd等伺服器,同樣bcd伺服器生成session資訊後也需要同步到a,這樣每個伺服器之間都包含全部的session

優點缺點通過將負載均衡伺服器進行修改,通過對返回給使用者的session id或者使用者請求的ip位址進行標記,也就是使用第四層傳輸層中讀取網路層的ip或者是在第七層中讀取http協議中某些屬性來做hash,保證對於此使用者的請求全部落到同一臺伺服器上

優點缺點將資料直接儲存到客戶端比如cookie或請求頭中,每次請求客戶端自動攜帶資料資訊

優點缺點將session儲存在一台單獨的伺服器中的資料庫中,例如mysqloraclesqlserverredismongodb等等,各server伺服器需要使用者資訊時攜帶session id對於集中儲存伺服器進行請求,進而獲取使用者資訊

優點缺點

分布式session一致性

在多台後台伺服器的環境下,我們為了確保乙個客戶只和一台伺服器通訊,我們勢必使用長連線。使用什麼方式來實現這種連線呢,常見的有使用nginx自帶的ip hash來做,我想這絕對不是乙個好的辦法,如果前端是cdn,或者說乙個區域網的客戶同時訪問伺服器,導致出現伺服器分配不均衡,以及不能保證每次訪問都粘滯...

分布式一致性

分布式一致性是指在分布式環境中對某個副本資料進行更新操作時,必須確保其他副本也會更新,避免不同副本資料不一致。分布式系統乙個重要的問題時解決資料複製,一是為了增加系統的可用性防止單點故障,二是提高系統可用性,通過負載聚恆,使分布在不同位置的資料副本能夠提供服務。理想狀態下,當然希望分布式系統能夠實現...

分布式一致性

分布式系統的乙個重要問題是資料的複製。對資料的複製一般有兩個原因 資料複製的主要難題是保持各個副本的一致性。即在更新乙個副本時,必須確保同時更新其他的副本,否則資料的各個副本將不再相同。一致性模型實質上是程序和資料儲存之間的乙個約定。正常情況下,乙個資料項上執行讀操作時,它期待該操作返回的是該資料在...