当前位置: 代码迷 >> Java Web开发 >> javawe 负载均衡怎么用cookie 实现session共享
  详细解决方案

javawe 负载均衡怎么用cookie 实现session共享

热度:19   发布时间:2016-04-16 22:16:43.0
javawe 负载均衡如何用cookie 实现session共享
目前在做负载均衡,已经部署上去了,只是给javaweb只是给内部人员用的后来发现session丢失严重,请问如何用cookie实现session共享,最好给出代码实例
------解决方案--------------------
没搞过这个
负载均衡 是集群吗?是否集群时session丢失呢?
------解决方案--------------------
这不是cookie共享,而是两个web应用实现session共享的问题,百度一下分布式session.
------解决方案--------------------
你了解下memcached呢
------解决方案--------------------
自己的空洞想法,楼主看看可行不.
创建一个session,重新cookie,并将其发送给浏览器持久保存,并把这个cookie放到ServletContext中
		// 把session的id取出来,自己生成一个持久cookie用来替换以前的会话cookie
Cookie cookie = new Cookie("JSESSIONID", session.getId());
// 设置cookie存活周期
cookie.setMaxAge(60 * 60);
//把这个cookie放到ServletContext中,让其他会话也能获得这次会话的持久cookie
sc.setAttribute("cookie", cookie);
response.addCookie(cookie);

其他机器访问时,只要也获得了这个cookie,应该能实现session共享了
		//其他session只需获得这个cookie就行了;
Cookie cookie = (Cookie) sc.getAttribute("cookie");

response.addCookie(cookie);


------解决方案--------------------
搭一个redis或者memcached,以sessionid为key把session都丢进去就可以了

你前端用什么做负载均衡?可以考虑用粘性会话策略,后端应用就不用修改了
  相关解决方案