分布式集群Session共享

解決方法

  1. Session Sticky
    讓負(fù)載均衡器能夠根據(jù)每次的請求的會話標(biāo)識來進(jìn)行請求的轉(zhuǎn)發(fā),這樣就能保證每次都能落到同一臺服務(wù)器上面。
  2. Session Replication
    即 session 復(fù)制,一般應(yīng)用容器都支持 Session Replication 的方式。這種方式開銷大,只適合幾臺機(jī)器的場景。
  3. Session數(shù)據(jù)集中存儲
    是對方案 2 的優(yōu)化,Session數(shù)據(jù)不保存到本機(jī)而且存放到一個集中存儲的地方,如 redis。
  4. Cookie Based
    所有 session 數(shù)據(jù)放在 cookie 中。
    每種方式的具體原理及優(yōu)缺點,可以查看附錄1. 可以發(fā)現(xiàn), 大多數(shù)情況下,方法 3 最優(yōu)。

session基于redis共享有兩種基本的方案

  1. 基于容器自身的擴(kuò)展,比如tomcat的session-manage,以及
    https://github.com/jcoleman/tomcat-redis-session-manager.

  2. 基于spring-session的方案. spring-session的好處不僅僅是session共享,它還可以與容器解耦,應(yīng)用于多終端session共享,websocket,restful api等場景。

環(huán)境

  • jdk 8 意味著老的 jar 包不能用
  • tomcat 8.5
  • spring 5
  • spring boot 2
  • maven 依賴管理。建立公司內(nèi)部的私服。

技術(shù)選型要有一定的前瞻性,帶來的好處大于學(xué)習(xí)成本。

參考資料

  1. 分布式集群Session共享 http://blog.csdn.net/jerome_s/article/details/52658946
  2. 單點登錄實現(xiàn)(spring session+redis完成session共享)
    https://www.cnblogs.com/hujunzheng/p/6395966.html
  3. 使用nexus3搭建私有倉庫 http://www.itdecent.cn/p/dbeae430f29d
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,568評論 19 139
  • 分布式集群多個tomcat7+redis的session共享實現(xiàn),科多大數(shù)據(jù)帶你來看看 什么是Session/Co...
    大數(shù)據(jù)在說話閱讀 1,214評論 0 10
  • 從三月份找實習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發(fā)崗...
    時芥藍(lán)閱讀 42,806評論 11 349
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,273評論 6 342
  • 澤澤現(xiàn)在特別喜歡把自己喜歡的東西拿給別人吃。這個開始于元旦時,現(xiàn)在越來越愛玩。比如,他坐在小餐椅上,你在餐桌吃飯,...
    綿綿澤澤閱讀 298評論 0 0

友情鏈接更多精彩內(nèi)容