tomcat分布式会话管理流程

经过初步的功能测试,对项目中分布式会话组件进行了一些修改和完善,实现了对多系统会话的统一管理。前期也实现了集成本地缓存,后来经过讨论发现容器间同步会导致组播太多,对系统性能影响较大就把本地缓存去掉了。该组件是基于tomcat6,并对session管理进行了扩展(用户的强烈要求),不适用于其他web server。

 

软件配置:

web服务器: tomcat6

一级缓存:oscache2.4.1

全局缓存:memcached
memcached客户端: java_memcached-release_2.6.3

组播软件:jgroups-2.12.1.Final.jar 

 

目前简单总结了如下几条设计要点: 

1.通过提供标准的会话操作接口,在一定程度上保证了应用层调用的便利性。

2.通过使用全局缓存软件memcached,实现了对系统会话的统一管理。

3.通过提供一级缓存,降低了对全局缓存的访问频率,提高了会话操作的性能。

4.通过同步容器、一级缓存、全局缓存中会话的过期时间,实现了系统会话过期时间的一致性。

5.通过管理各子系统中相关会话属性的变更,实现了各子系统中相关会话属性的同步。

6.通过对memcached的读写控制,实现了对全局缓存的Failover。  

 

以上方案经过讨论,发现组播太过频繁,对网络消耗较大,为了减少组播,最后决定去掉一级缓存,这样就不存在会话属性添加、删除这两组组播。下面是该组件的流程图,欢迎大家批评指正。

 



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值