日期:2014-05-19  浏览次数:20552 次

问个tomcat7集群的问题
问题如下:两个tomcat7集群,apache作整合,session复制,访问网站,假如第一次访问了jvm1,那么浏览器的jsessionid就会被设为XXXX.jvm1,假如再次访问,分配到了jvm2,这时反回给浏览器的jsessionid为,XXXX.jvm2,OK,其中XXXX一样,如果连接不中断一切正常,假如现在再次访问的时候分配到jvm1,而jvm1返回的sessionid为XXXX.jvm1,现在客户端中断了,客户端没有收到这个sessionid,现在客户再次提交请求,使用的sessionid是XXXX.jvm2,此时服务器反回一个新的sessionid为YYYY.jvm1,于是客户从服务器中断了。
我用代码测试,发现使用服务器返回的sessionid提交,一直使用一个sessionid,比如XXX.jvm1,那么如果返回的是XXX.jvm2,那么这个 XXX是一样的,如果返回的是XXX.jvm1,那么这个sessionid必变。也就是说,如果提交到的是这个session产生的那个tomcat,session必变,相反提交到另一个session不变,只是变后面的jvm。 不知道我这是因为没有配置好还是什么原因,请指教一下

------解决方案--------------------
找的配置说明哩~
http://wenku.baidu.com/view/380b95f69e3143323968937e.html
------解决方案--------------------
不能让请求绝对的平分进行负载,这是不合理的。

一般来说Apache要开启:会话粘着,这也是为啥我说想看看你的Apache配置。

负载均衡的主要目标是在一定规模下的均衡,比如 1000 个在线用户,那么此时如果有 600 个在A,400个B;我们都认为它是基本均衡的。

按照请求进行绝对意义上的平分负载,其实更浪费性能。