集群环境下的Session管理
1. 集群环境下的管理HTTPSSession所遇到的问题

一台服务器对应这个一个session对象,无法在另外一个服务器互通
解决方法:
1. Session 的 Replication(复制)将当前服务器中使用的session全部复制到其他服务器上
缺陷:Session数据冗余 浪费内存资源

2. Session的 stick session的黏着 session只能单点发布到一个tomcat上
缺陷:存在单节点故障,容易操作数据丢失

3. Cookie的保存状态
缺陷:也就时Cookie的缺点:存储数据量小,浏览器关闭cookie消失,数据暴露不安全,cookie存储中文数据必须要额外处理

4. 通过redis 或者Memcahe等分布式缓存集中管理Session

具体的思路:
Redis是一个基于内存的key-value的内存数据库
Session存redis中因为要跨网络。session需要实现序列化 key = sessionId value=session
Cookie = jsessionid
Jedis.get(“jsessionid”) ===session
通过Redis 集中管理session的开发步骤:
1、在tomcat的lib目录中导入
tomcat-redis-session-manager-1.2-tomcat-6.jar
jedis-2.0.0.jar
commons-pool-1.6
2、在tomcat的conf目录中修改context.xml配置文件
<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />
<Manager className="com.radiadesign.catalina.session.RedisSessionManager"
host="192.168.1.105"
port="6379"
maxInactiveInterval="60"/>
配置

java中的实体类需要实现序列化接口
注意:实现序列化的目的不仅仅是将对象写入到文件中更多的是可以进行对象的网络传输所谓的复制session就是通过一个流
将session传过来session中的对象也要传过来,所以session中存储的对象要实现序列化,而包装类型已经实现了系列化
网络中传输实体的方式
优点:序列化,效率高,序列化后传输的是二进的内容 基于传输层 (内网, tcp ,局域网)
JSON:传输的是字符串 基于应用层 http 互联网
与mybatis日志系统的集成
redis的分片
1. 为什么要分片?
例如:将1000万的数据量拆分成 10个100万的数据量 使用10个redis服务器进行处理 这个
是分而治之的思想可以提高查询效率。

2. 怎样实现分别片
Redis2.x 通过程序员自己实现 (客户端的分片)
Redis3.x redis支持分片的特性 (又叫服务器分片)
3. 如何知道数据对应哪个redis进行存储
Hash 取模的思想 余数是几就对应哪个redis 有几个redis就对几取模

Redis分片的开发步骤

redis3.x的特性
特点:1.支持sharding 支持master-slaver
2.支持auto failover(自动故障切换), 如果从节点发现主节点宕机 那么会自动称为主节点
注意:Redis2 与redis3 只在集群方面有区别其他没有区别

Redis充当web缓存的概念

Redis中key的设计
1、查询有几种情况?
1. 通过主键查询 id
2 .通过其他条件查询 sql
2. key 的设计

3. redis的副本集
为什么需要副本集:放置单节点故障

Redis副本集的架构

Redis 副本集的开发步骤:
1. 复制redis.conf 的配置文件 一份为主一份为从 修改端口号port
在从的配置文件中添加
slaveof <masterip> <masterport>

集群环境下的Session管理的更多相关文章
- 集群环境下,Session管理的几种手段
集群环境下,Session管理的几种手段 1.Session复制 缺点:集群服务器间需要大量的通信进行Session复制,占用服务器和网络的大量资源. 由于所有用户的Session信息在每台服务器上都 ...
- weblogic 12C集群环境下的session复制
做过weblogic集群环境的人应该都清楚,要想实现session同步,必须满足两个条件:第一,在weblogic.xml里面增加session同步相关的代码:第二,所有放入session的类都要序列 ...
- 集群环境下Shiro Session的管理
问题引入 紧接上篇连接 在多台tomcat集群中,shiro管理的session需要放在Redis中,我们只需要增加redisSessionDAO的配置就行 <!-- 定义会话管理器的操作 表示 ...
- 【原创】Tomcat集群环境下对session进行外部缓存的方法(2)
Session对象的持久化比较麻烦,虽然有序列化,但是并不确定Session对象中保存的其他信息是否可以序列化,这可能是网上很多解决方案摒弃此种做法的原因,网上的很多做法都是将Session中的att ...
- 【原创】Tomcat集群环境下对session进行外部缓存的方法(1)
BJJC网改版, 计划将应用部署在tomcat集群上,集群的部署方案为Apache+Tomcat6,连接件为mod_jk,其中开启了session复制和粘性session.计划节点数为3个. 到这,或 ...
- 集群环境下的Session共享
一.Cookie机制和Session机制回顾 1)定义:Session成为“会话”,具体是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间.Session ...
- redis内存分配管理与集群环境下Session管理
##################内存管理############### 1.Redis的内存管理 .与memcache不同,没有实现自己的内存池 .在2..4以前,默认使用标准的内存分配函数(li ...
- redis 与java的连接 和集群环境下Session管理
redis 的安装与设置开机自启(https://www.cnblogs.com/zhulina-917/p/11746993.html) 第一步: a) 搭建环境 引入 jedis jar包 co ...
- 分布式集群环境下,如何实现session共享一(应用场景)
在web应用中,由于http的请求响应式,无状态.要记录用户相关的状态信息,比如电商网站的购物车,比如用户是否登录等,都需要使用session.我们知道session是由servlet容器创建和管理, ...
随机推荐
- 如何快速排查发现redis的bigkey?4种方案一次性给到你!
本篇文章将以redis的bigkey为主题进行技术展开,通过从认识redis的高性能,bigkey的危害.存在原因.4种解决方案,到模拟实战演练的介绍方式,来跟大家一起认识.探讨和学习redis. 先 ...
- Web应用安全防护-WAF
web应用开发中不可避免需要考虑web应用的安全问题,那么常见的安全风险包含哪些呢? Web应用常见的安全风险 在web应用开发中可能存在以下的安全风险: 安全风险Top 10 A1:2017-注入 ...
- mycat<三>
server.xml文件 <?xml version="1.0" encoding="UTF-8"?> <!-- - - Licensed u ...
- DFS常规解题套路
本文为xdfApp团队成员文章,原文链接:https://blog.csdn.net/sinat_37380158/article/details/106866970 作者介绍:韩沛沛, 北京邮电大学 ...
- vue 基础入门(一)
app-1 :声明式渲染 app-2 :绑定元素特性 v-bind 特性被称为指令.指令带有前缀 v-,以表示它们是 Vue 提供的特殊特性. app-3 app-4 :条件与循环 app-5 ,ap ...
- C# - 习题07_计算1分2分5分硬币各有多少枚
时间:2017-09-08 整理:byzqy 题目:现在有1分.2分.5分硬币共100个,总金额为2.46元,请用程序计算出1分.2分.5分各有多少枚,有多少种算法? 这是最近面试遇到的一个题目,刚开 ...
- Elasticsearch集群搭建教程及生产环境配置
Elasticsearch 是一个极其强大的搜索和分析引擎,其强大的部分在于能够对其进行扩展以获得更好的性能和稳定性. 本教程将提供有关如何设置 Elasticsearch 集群的一些信息,并将添加一 ...
- Servlet学习笔记(四)之请求转发与重定向(RequestDispatcher与sendRedirect)
ServletContext可以实现请求转发(ServletContext请求转发相关内容见之前博客:http://blog.csdn.net/megustas_jjc/article/details ...
- golang 模板 html/template与text/template
html模板生成: html/template包实现了数据驱动的模板,用于生成可对抗代码注入的安全HTML输出.它提供了和text/template包相同的接口,Go语言中输出HTML的场景都应使用t ...
- Mybatis-plus<三> MybatisPlus条件构造器
Mybatis-plus<三> MybatisPlus条件构造器 Demo GitHub下载地址:https://github.com/RJvon/Mybatis_plus_demo My ...