应用服务器集群的Session管理
应用服务器的高可用架构设计主要基于服务无状态这一特性,但实际上,业务总是有状态的,在交易类的电子网站,需要有购物车记录用户的购买信息,用户每次购买请求都是向购物车中增加商品;在社交类网站中,需要记录用户的当前登录状态、最新发布的消息及好友状态等,用户每次刷新页面都需要更新这些信息。 Web应用中将这些多次请求修改使用的上下文对象称作会话(session),单机情况下,session可由部署在服务器上的web容器管理。在使用负载均衡的集群环境中,由于负载均衡服务器可能会将请求分发到集群的任何一台服务器上,所以保证每次请求依然能够获得正确的session比单机时要复杂很多。 集群环境下,session管理主要有一下几种手段。 Session复制 Session复制是早期企业应用系统使用较多的一种服务器集群session管理机制。应用服务器开启web容器的session复制功能,在集群中的几台服务器之间同步session对象,使得每台服务器上都保存所有用户的session信息,这样任何一台机器宕机都不会导致session数据的丢失,而服务器使用session时,也只需要在本机获取即可。 ...