`

Java集群之session共享解决方案【转】

阅读更多

转自:http://jsjzhou.iteye.com/blog/509601

 

       随着互联网的日益壮大,网站的pv和uv成线性或者指数倍的增加.单服务器单数据库早已经不能满足实际需求.比如像盛大,淘宝这样的大型网络公司,更是如此.


      集群,也就是让一组计算机服务器协同工作,达解决大并发,大数据量瓶颈问题.但是在群集中,session往往是一个比饺头疼的问题.一般情况下,session不可跨服务器而存在.下面给出几种session共享的解决方案. 


       第一种,客户端解决方法.把session加密后存在cookie中,每次session信息被写在客服端,然后经浏览器再次提交到服务器.即使两次请求在集群中的两台服务器上完成,也可以到达session共享.这种解决方法的优点是session信息不用存放在服务器端,大大减轻了服务器的压力.另一个优点是一个session中的两次或多次请求可以在一个群集中的多个服务器上完成,可以避免单端故障.目前,淘宝是采用的这种解决方案.


       第二种,提供一个群集保存session共享信息.其他应用统统把自己的session信息存放到session群集服务器组.当应用系统需要session信息的时候直接到session群集服务器上读取.这种方式具有第一种方式的第二个优点.


       第三种,配置负载均衡服务器,典型有F5等.它会记住用户的访问。比如用户第一次访问了群集中A节点,当用户第二次访问时,它也会把用户请求分发到节点A,此特性称为会话自粘型。


       开发人员可以根据自己的实际情况选择适合自己的session共享方式.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics