分佈式演變過程中之Session集群解決方案

Tomcat MySQL Redis 電子商務 閒談君 閒談君 2017-09-17

隨著我們互聯網技術的發展、用戶量已經很大了、現在單臺機器已經不能存儲這麼多人的會話。

那我們應該怎麼辦?

我們需要對系統進行一個垂直拆分,比如電商系統我們分為:會員中心、交易中心、商品中心等

那這個時候我們如何解決SSO問題了?如何解決分佈式下會話機制Session

業界方案有這幾種:

1、 Session Sticky

IP-Hash

192.168.0.100 1tomcat

192.168.0.1012tomcat

分佈式演變過程中之Session集群解決方案

特點:如果某個tomcat宕機了、單點故障 整個機器都session數據都會丟失

2、 Sesssion Relication

分佈式演變過程中之Session集群解決方案

Tomcat本身有這個插件可以解決這種、Session複製。

特點:增加了Session網絡開銷 每臺tomcat都需要存儲全局的session、內存

3、 Cookie based

分佈式演變過程中之Session集群解決方案

特點:增加了我們客戶端和服務端的通訊、增加了網絡資源、擴展強、沒有單點故障

不安全.

4、 Session集中存儲

分佈式演變過程中之Session集群解決方案

優點:session越多、tomcat容器越多的時候他的優勢就更明顯、沒有單點故障的問題

擴展方便、適合集群數據量大使用。

需要接入redis、mysql集群維護、增加網絡開銷內網、序列化

分佈式演變過程中之Session集群解決方案

相關推薦

推薦中...