Redis集群实现分布式Session共享

Cookie 保存在客户端浏览器中,而 Session 保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是 Session。客户端浏览器再次访问时只需要从该 Session 中查找该客户的状态就可以了。

在实际工作中我们建议使用外部的缓存设备来共享 Session,避免单个服务器节点挂掉而影响服务,共享数据都会放到外部缓存容器中。

使用Redis实现共享session,所有服务器的session信息都存储到了同一个Redis集群中,即所有的服务都将 Session 的信息存储到 Redis 集群中,无论是对 Session 的注销、更新都会同步到集群中,达到了 Session 共享的目的。

1、常见的session集群方案

session集群主要有两个方案:session复制和session共享。

1. session 复制

是指session信息会在集群节点之间复制,每个节点服务器上都会有相同的session信息。 

  • 优点: 是即使一个节点服务器宕机了,只要还有服务器存活,就不影响用户使用。 
  • 缺点: 缺点是node之间通信频繁,响应速度有影响,多并发、高频操作的情况下性能下降比较厉害。

2. session共享

基于Memcache/Redis等数据库的session共享。

tomcat自带集群中,提供了session复制,session信息会在各个tomcat中同步,对网络要求较高,session内存消耗影响会很大,对于小集群够用了,大集群还是建议使用redis或者memcache进行session共享。

因此,构建tomcat集群时&#x

你可能感兴趣的:(数据库存储,块存储,文件存储,对象存储,分布式网络存储,redis,数据库,java)