session集群猜想 一

2021-08-25 15:26:00 字數 827 閱讀 7918

應用在做集群時,session資料的共享是怎樣處理的了?猜想有三種處理方式。本文只是從理論上分析其方法,不會涉及到具體的操作。

假設有一台前端分發器a1,應用伺服器s1,s2,快取伺服器c1和一台備份的快取c2,資料庫d1

第一種

把session放到應用伺服器一層,s1和s2中的session資料保持一至,即使其中有一台應用伺服器蕩掉,也可以用其它應用伺服器,並且session中的資料也不會丟失。這樣做法,必定會讓應用服務中對session資料的變化都要通知其它伺服器做相應的改變,並且s1恢復後,或者集群中增加了一台服務後,怎樣從已有的應用伺服器中把session資料同步過來。

疑問:

應用伺服器s1改變session中的資料後,通知到其它的應用伺服器中

應用伺服器s1蕩掉,恢復後或者在集群中新增加一台應用伺服器後,怎樣從已有伺服器(s2)中,同步session資料。

第二種

把session資料放到快取一層,s1和s2操作session都從快取中取,s1和s2對session的操作最終都會反映到快取中,當應用伺服器蕩掉或者新增加一台應用服務時,也不會影響到快取中的session。當快取伺服器c1蕩掉時,可以使用備份快取伺服器c2,當c1恢復後,把c2的資料兩步到c1中。

疑問:

快取伺服器c1和c2的資料怎樣做同步,特別是c1蕩掉後,又恢復後,怎樣把備份快取c2中的資料,同步到c1中

第三種

把session資料放到資料庫中,和第二種方法類似。但是在效率上,可能沒有第二種高效。

session集群猜想 一

應用在做集群時,session資料的共享是怎樣處理的了?猜想有三種處理方式。本文只是從理論上分析其方法,不會涉及到具體的操作。假設有一台前端分發器a1,應用伺服器s1,s2,快取伺服器c1和一台備份的快取c2,資料庫d1 第一種 把session放到應用伺服器一層,s1和s2中的session資料保...

集群session問題(一)

這個方案比較簡單 再負載均衡器上將同樣的session請求發往同乙個伺服器,其實還是相當於單機,只是在負載均衡器上做處理了。這樣的好處就是 簡單 缺點如下 1 如果有一台web伺服器宕機,那麼這台機器上的會話資料全丟失,使用者需要重新登入 2 會話標識是應用層的資訊,那麼負載均衡器要將同乙個會話請求...

session 集群方案

背景 假設某個 是由多台伺服器提供服務,nginx採用輪詢機制做負載均衡,那麼同乙個ip訪問該 時,請求就可能會被分配到不同的伺服器上,如果session沒有實現共享,就會出現重複登陸授權的情況。session 集群主要有兩個方案 session 複製和session共享 session 複製 是指...