Session共享的几种不同实现方案
来源:互联网 发布:天阳宏业怎么样知乎 编辑:程序博客网 时间:2024/06/07 03:46
1.背景
随着互联网的日益壮大,网站的pv和uv成线性或者指数倍的增加.单服务器单数据库早已经不能满足实际需求。目前大多数大型网站的服务器都采用了分布式服务集群的部署方式,所谓集群,就是让一组计算机服务器协同工作,解决大并发,大数据量瓶颈问题。但是在服务集群中,session共享往往是一个比较头疼的问题。因为session是在服务器端保存的,如果用户跳转到其他服务器的话,session就会丢失,一般情况下,session不可跨服务器而存在。于是就有了分布式系统的session共享问题。
2.Session共享实现方案
Session共享有多种解决方法,常用的有四种:客户端Cookie保存、服务器间Session同步、使用集群管理Session、把Session持久化到数据库。下面分别就这四种方案进行介绍和比较。
2.1客户端Cookie保存
介绍说明
以cookie加密的方式保存在客户端.优点是减轻服务器端的压力,每次session信息被写在客服端,然后经浏览器再次提交到服务器。即使两次请求在集群中的两台服务器上完成,也可以到达session共享。
这种解决方法的优点是session信息不用存放在服务器端,大大减轻了服务器的压力。另一个优点是一个session中的两次或多次请求可以在一个集群中的多个服务器上完成,可以避免单点故障。目前,淘宝是采用的这种解决方案。
缺点有几个,一是传递cookie时,http信息头的长度限制使我们只能够在cookie中存入一部分用户信息;二是需要额外地做session信息加密的工作;第三,如果采用这种方式,每次访问网站二级域名时都会在http信息头中带有这些以cookie形式存储的session信息,会占用一定的带宽;最后,由于这种方式是在客户端进行信息存储,用户完全可以禁用cookie或删除cookie,不是很可靠。
- 支持Tomcat6、Tomcat7
- 支持黏性、非黏性Session
- 无单一故障点
- 可处理tomcat故障转移
- 可处理memcached故障转移
- 插件式session序列化
- 允许异步保存session,以提升响应速度
- 只有当session有修改时,才会将session写回memcached
- JMX管理&监控
- Session共享的几种不同实现方案
- 几种主流的“跨服务器Session共享”方案讨论
- Session共享实现方案
- Session共享实现方案调研
- Session共享实现方案调研
- 【转帖】session共享的几种方式
- session共享的几种方式
- session共享的几种方式
- session 共享的几种方式
- 集群session共享方案(有shiro共享session的方案)
- 不同的tomact实现sesson复制,共享session
- [转帖]memcache实现session共享方案
- Session共享实现方案调研(转载)
- Tomcat利用MSM实现Session共享方案
- session多服务器共享的方案梳理
- session多服务器共享的方案梳理
- session多服务器共享的方案梳理
- session多服务器共享的方案梳理
- 设计模式--工厂方法模式
- android源码下可执行的一些命令
- 关于程序员的自我提升
- OpenCV-Python教程(10、直方图均衡化)
- JZOJ 100035【NOIP2017提高A组模拟7.10】区间
- Session共享的几种不同实现方案
- 排序算法——折半插入排序
- 关于Sql Server JDBC 4.0驱动在maven中引入失败的问题
- 社区发现的3个评估指标:标准化互信息NMI,ARI指标,以及模块度(modularity)
- Android Studio SDK Manager 无法更新
- Kibana(五):调试模式无法启动的解决办法
- Unity 开发日记/教程 俄罗斯方块 (二) 搭建方块UI和生成方块.
- pykafka简单应用
- Ubuntu16.04 和 Win7 双系统启动顺序更改