热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Redis集群实现分布式Session共享

Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是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集群时


推荐阅读
author-avatar
vivi_康冬薇
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有