我先来说一点吧。我们经常用到HttpSession,比如将一个ShoppingCart类放进session中以纪录某个人的购物过程。但是在cluster环境下就没有那么简单了,因为你的每个请求指不定会被load balance服务器分发到哪个机器处理。所以基于数据库或共享文件系统作为存储的session产生了,但是这种机制却限制了扩展性。因为如果用户添加一个对象到httpsession,session中所有的对象都要被序列化并写回到数据库或文件。所以又有人提出了基于内存的session,处理方法如下:首先到一个集中式的状态服务器中注册一个httpsession,接下来,集群中的每个节点可以随意选取一个节点作为备份服务器来将session存到内存中。所以每次用户添加一个对象到session的时候,只有那个对象被序列化并存入备份服务器中。
先写到这里,过会儿再来。