Java Code配合负载均衡出现错乱问题

1,今日上一套Java web system,应用做什么的就不讲了,
2,这个code使用导向方式处理,
3,几日前设计HA+Load balance,主要依靠LVS+heartbeat实现,依靠rr轮调,测试通过
4,今天实测,java code+LVS,发现问题点,不知道如何处理,上来请教

架构如下,user访问VIP,由LVS重新指向真实server,后面有三台真实server。

user登陆页面后可以查询,但新增资料时要求重新login,原因user的每一個需求被重新導向到真實server,
从log上分析的結果,user連續動作被拆分到多個真實server,
user--VIP--Real1--user,
user--VIP--real2--user,java code建議重新login,未發現login狀態,

ipvsadm -Lnc

[root@LVS-1 ~]# ipvsadm -Lnc
IPVS connection entries
pro expire state source virtual destination
TCP 00:20 ESTABLISHED 10.4.20.155:60525 10.4.200.150:80 10.4.200.137:80
TCP 00:20 ESTABLISHED 10.4.20.155:60527 10.4.200.150:80 10.4.200.138:80
TCP 00:20 ESTABLISHED 10.4.20.155:60526 10.4.200.150:80 10.4.200.139:80
TCP 00:25 ESTABLISHED 10.4.20.155:60523 10.4.200.150:80 10.4.200.139:80
TCP 00:20 ESTABLISHED 10.4.20.155:60524 10.4.200.150:80 10.4.200.138:80
TCP 00:20 ESTABLISHED 10.4.20.155:60528 10.4.200.150:80 10.4.200.137:80

Forums:

这个问题可能是session不同步导致的,你可以将java的session存储到memcache或者数据库,或者启用lvs的会话保持服务,将同一个ip的请求全部分配到同一个后端,会话保持可以在 ipvsadm命令 后面加 -p time 来实现,存储到数据库的话可以让你们的开发来做!

randomness