集群分布式环境下四种session处理策略

    科技2026-06-19  19

    参考资料:1、集群/分布式环境下5种session处理策略

    一、粘性session

    通过nginx中的upstream中配置ip_hash;使客户端和第一次访问的服务器进行绑定。

    二、服务器session复制

    给Tomcat配置集群版,并开启网络广播策略。使的一个节点接收到session后,使其他节点都同步该节点的session。

    2.1、terracotta实现session复制(优化版)

    corracotta将一台节点变化的数据,然后由terracotta把变化了的数据发给terracotta服务器,最后发送给需要数据的节点。

    三、数据库持久化操作

    缺点:当访问量大时,会对数据库访问造成很大的访问压力

    四、session共享机制(两种方式)

    借用分布式缓存memcached、redis,必须是集群

    4.1、粘性session

    每个Tomcat对应一个memcached,memcached之间数据同步。先在一台节点创建session,然后同步到对应的memcached。当一个节点挂了以后,从另外一个节点获取session,如果没有,则从对应的memcached中获取。

    4.2、非粘性session

    memcached建立主从复制,在从memcached写入,读从memcached读取。Tomcat本身是不存储session信息的。

    Processed: 0.009, SQL: 10