无状态会话的实现

这里说的无状态会话跟ejb里面的不同的,只是引用了这个概念,但实现方式可以用任何方式来实现的。

所谓无状态会话就是服务器端不会保存客户端的任何特性,保证每一个请求都是干净的,无差异性的,主要是为了解决集群环境中的客户端识别。

说简单点,实际就是把客户端的一些差异内容存进数据库,因为数据库是唯一的,并非集群环境,而客户端通过cookie存入一个sessionid的东西,每次访问服务器重新根据sessionid获得用户的特性信息,从而达到无状态会话,但是又能体现各个访问者的差异性来。

说到这种解决集群环境的问题来,想起上次解决短信服务器的一个bug来。

短信有三大运营商,每个运营商一个线程在跑,一个线程在跑的时候都正常的,数据的各个层面的日志输出一切正常,但是只要多个线程一起,就经常出现一些莫名其妙的问题,部分线程会不在发挥作用。后来查了很久,才发现是每个线程取数据并没有例外对待,但导致CMCC线程出现了UNICOM的数据这样的问题来。这个实际也是类似无状态会话的一种体现。

无状态会话的一种常见实现就是把差异性的内容保存在一个唯一的存储机构中,比如数据库,比如memcached。然后客户端通过一个id来读取或者保存。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值