我有两问题在这里请教一下大家!
背景:有一个Web应用,发布时服务器架构采用apahce + tomcat(3个)。同时有另一个应用是前述应用的wap版(java开发),准备再用一个tomcat发布。
问题一:web应用的3个tomcat没有做集群,session也没有复制,因为觉得tomcat的那种所有session都复制的办法不是太好,而且很不稳定(时而可复制,时而不能复制)。我想把这3个tomcat产生的session都放在另一台机器上(重新写session保存模块),由它专门管理,所有登录都到这台机器上来做,这样不管哪个tomcat挂掉,对用户来说透明,不要再登录。
问题二:wap应用和web应用也共用session,同时要求客户端(不管是手机还是PC)同一用户同一时间只能在系统中登录一个身份。也就是说,一个用户登录,如果在别的机器(或不同浏览器,手机)上再登录,前面登录的用户会被挤出系统。
以上两问题请大家帮忙提个具体的解决方案,谢谢!前述是我自己的想法!
推荐是采用集中式session处理的。用memcached存储session。
要判断同一个用户登录,在memcached中可以根据用户名去查找。存在即登录。
唯一难控制的就是如果直接退出浏览器,session的清除问题:
我的解决方案就是所有的页面都跑在frame里,然后在页面上加一个unbound函数。处理退出。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。