Session共享实现方案调研
来源:互联网 发布:佳能调色软件 编辑:程序博客网 时间:2024/09/21 09:17
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共享实现方案
- [转帖]memcache实现session共享方案
- Tomcat利用MSM实现Session共享方案
- 二级域名session 共享方案
- Session 共享方案
- session共享方案
- 分布式Session共享方案
- Session共享的几种不同实现方案
- 集群session共享方案(有shiro共享session的方案)
- PHP二级域名session共享方案
- PHP 二级域名session 共享方案
- 服务器集群session共享方案
- 集群项目session 共享方案
- nginx+tomcat7+memcache集群,使用memcached-session-manager实现session共享方案
- spring-session实现session共享
- MySQL LOCK TABLES 与UNLOCK TABLES
- Android 属性动画(Property Animation) 完全解析
- <bean:wirte>的用法
- 椭圆追踪
- Backward Digit Sums --- DFS+全排列
- Session共享实现方案调研
- ORA-01940:无法删除当前已链接的用户(转)
- java.io.IOException: You have to specify '-keep' options for the shrinking step.
- [ArcEngine地图制图系列]—添加比例尺
- 文章标题
- android textView是否为空的判断
- StringUtils的isBlank与isEmply
- 面试的65个回答技巧-适用于BAT公司
- [ArcEngine地图制图系列]—添加比例文本