第一,
在其中一个tomcat服务器中,存入session,然后通过广播复制到每一个tomcat服务器中(也称session的replication)。这样最大的问题就是有冗余。
第二,
利用nginx 对IP进行hash(服务器的个数) 取模,将session存入某一台tomcat服务器中。这样可以保证同一个IP可以路由到同一台服务器。从而体现一种session的假象。但同时也存在一个问题,就是存session的那台机子宕机会导致session丢失。
第三,
可以将以上两种方案结合使用,先用第二种方案对hash取模,在将这台机子附近的机子做session的replication。
这样做只是比第二种更好一点,但也有可能出现第二中的情况。
第四,
用redis做session的管理。(这种方案是最好的,也是我最推荐用的)。