应用服务器集群的session管理-多台服务器共享session问

应用服务器集群的session管理:这是我在一本网站技术架构分析的书上看到的。这一章主要写在高可用架构设计之下服务无状态这一特性下怎么管理会话(session)。以下是几例解决方案(示例图为转载图片):

1.session复制

session复制是早期企业应用系统使用比较多的一种服务器集群Session管理机制。应用服务器开启Web容器的的Session复制功能,在集群中的几台服务器之间同步Session对象,是的每台服务器上都保存所有用户的Session信息,这样任何一台机器宕机都不会导致Session数据的丢失,而服务器使用Session时候,也只需要在本机获取即可。如图:


缺点: 只能使用在集群规模比较小的情况下(本人目前也没参与过大集群项目开发),当集群规模比较大的时候,集群服务器之间需要大量的通信进行Session的复制,占用服务器和网络的大量资源,系统负担较大。而且由于用户的session信息在每台服务器上都有备份,在大量用户访问下,可能会出现服务器内存都还不够session使用的情况。

2.session绑定

session绑定可以利用负载均衡的原地址Hash算法实现,负载均衡服务器总是将来源于同一IP的请求分发到同一台服务器上,也可以根据cookie信息将同一个用户的请求每次都分发到同一台服务器上,不过这时的负载均衡服务器必须工作在HTTP协议层上。这样在整个会话期间,用户的所有请求都在同一台服务器上处理,就是把session绑定在某台特定的服务器,保证了session总能在一台服务器上回去。这种方法又被称为会话黏滞。


缺点: 该session绑定的方案不符合我们队系统高可用的需求。因为该情况下,一旦某台服务器宕机,则该服务器上的所有session信息就会不存在,用户请求切换到其他服务器后因为没有session信息而无法完成相关业务。所以这种方法用的比较少

3.利用cookie记录session

早期的一些企业应用架构就是C/S(客户端/服务器)架构,管理session 的方法就是讲session记录在客户端,每次请求服务器的时候讲session放在请求中发送给服务器,服务器处理过请求后再将修改过的session返回给客户端。网站虽然没有客户端,但是可以利用浏览器支持的cookie记录session。

当然,有人会说如果客户端禁用掉cookie怎么办。我另一篇文章写过这个相关的简单的解决办法。

客户端禁用Cookie后如何使用Session


缺点: 该方法受cookie大小限制,记录的信息有限。每次请求都需要传输cookie,影响性能。

但是,由于cookie简单易用,支持服务器的线性伸缩,而且大部分的session信息都比较小,所以其实很多网站或多或少的都会使用cookie来记录session。

4.session服务器

session服务器就是利用独立部署的session服务器(集群)统一管理session,应用服务器每次读写session时候,都去访问session服务器。


该方案实际上就是将应用服务器的状态分离,分为无状态的应用服务器和有状态的session服务器。

对于有状态的session服务器:

一种比较简单的方法就是利用分布式缓存,数据库等,在这些产品的基础上进行包装,使其符合session的存储和访问要求。

另一种就是业务场景对session管理有比较高的要求的时候,可以利用session服务器集成单点登录(SSO),用户服务等功能,

这就需要开发专门的session服务管理平台。

本文是在项目中遇到session相关问题的时候,刚好手头的一本书上有相关解决方法。有其他好的解决方法望留言指点。

---------------------

作者:谷文杰

来源:CSDN

原文:https://blog.csdn.net/gu_wen_jie/article/details/79871628

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容