文档章节

集中式session

wangjack
 wangjack
发布于 2014/06/11 14:56
字数 469
阅读 1007
收藏 17
点赞 1
评论 0

#集中式的Seesion管理 这次给平台升级将原先Cookie会话,切换到集中式的Session管理 技术使用:redis或者zookeeper存储会话数据 ######1.会话 所谓会话,即用户访问应用时保持的连接关系,在多次交互中应用能够识别出当前访问的用户是谁,且可以在多次交互中保存一些数据。如访问一些网站时登录成功后,网站可以记住用户,且在退出之前都可以识别当前用户是谁。 ######2.技术实现 二种方式实现: 1.重写Servlet容器session的方案 2.放弃Servlet容器的会话管理,自己维护着会话 ######3.Servlet方案 1.继承HttpServletRequestWrapper类,重新实现getSession的两个方法 2.自己实现SessionManager,来控制sessinid 3.通过Filter拦截器替换ServletRequest的实现,完成代理模式 4.后台有个任务线程去删除用户最后一次时间跟当前时间比较比较,超过设置的过期时间的用户session ######4.自定义实现 1.创建一个SessionIdGenerator用来生成sessionId。并存入此用户的cookie中,此唯一标识唯一对应着某一个用户 2,生产的sessionId存放到服务器中心服务器上 3.客户每次请求都将cookie与请求一起传输到服务器上,服务器通过sessionid去redis或者zookeeper查询 4.每个请求都需要更新此用户请求的时间 5.后台有个任务线程去删除用户最后一次时间跟当前时间比较比较,超过设置的过期时间的用户session 这个方式做的好的话,可以每台服务器也存储一个session,通过中心session服务器跟本地seesion双重验证提高效率

© 著作权归作者所有

共有 人打赏支持
wangjack
粉丝 6
博文 5
码字总数 871
作品 0
无锡
程序员
分布式session实现方式

当一个传统的Web项目需要从单点扩张成为集群式时候,需要考虑的一个问题:分布式Session的实现。通常分布式session有三种解决方式,现对三种方式进行简单记录: 1.session广播 顾名思义,广播...

塞上名猪 ⋅ 2017/05/10 ⋅ 0

分布式环境中三种Session管理方法的使用场景及优缺点 .

在分布式环境,管理Session通常使用下面三种方式: 一、Session Replication 方式管理 (即session复制) 简介:将一台机器上的Session数据广播复制到集群中其余机器上 使用场景:机器较少,网...

凯文加内特 ⋅ 2015/03/02 ⋅ 0

集群系统相关

我现在对分布式系统很感兴趣,不过无奈经验太少,由两个问题想请教下 1.cookie 和 session,对于集群系统,cookie 比集中式session缓存还有优势吗?即便是使用cookie,我在服务端依然要位置一个副本...

光石头 ⋅ 2010/06/18 ⋅ 5

nginx负载均衡 tomcat集群 memcache共享session

http://9iu.org/2011/11/25/tomcat-memcached-session-sso.html 把tomcat的session存放在memcached 的集中式缓存中,能够很好解决tomcat的集群负载,不用使用笨重的session复制,也能轻松解决s...

光石头 ⋅ 2011/05/13 ⋅ 7

Article-No.05 大型网站系统与Java中间件实践

1、阿姆达尔定律:S(N) = 1/(1-P) + P/N P:程序中并行部分的程序在单核上执行时间的占比 N:处理器的个数(总核心数) S(N):程序在N个处理器(总核心数)相对于单个处理器(单核)中的速度...

shawntime ⋅ 2015/07/16 ⋅ 0

spring 事物管理特性

采用编程式事务 1、 getCurrentSession()与openSession()的区别? 采用getCurrentSession()创建的session会绑定到当前线程中,而采用openSession()创建的session则不会 采用getCurrentSessi...

lzw_me ⋅ 2014/07/25 ⋅ 0

分布式Session集中存储方案

在文章分布式web架构中Session管理的方法中讲了分布式Session管理的4种办法,其中第4种的Session集中存储实际运用比较广泛,下面来讲解这种的实现方案。 目前常用的Session集中管理方案有两种...

刘诗书 ⋅ 2017/11/23 ⋅ 0

大型网站之分布式会话管理

随着网站的功能和用户越来越多,单机器服务部署的Web应用已经不能再支持了。这时候就需要优化或调整目前的架构,具体怎么优化,或先优化哪部分,这取决于网站的具体情况, 并非总是一个套路。...

十二缸帕萨特 ⋅ 2015/10/07 ⋅ 0

MLS多层交换

交换机收到frame后,先查看是否有VACL 如果有的话,先通过VACL,在查表进行转发 VACL:VLAN的ACL,该功能一般在三层交换机上菜有 VACL抓取IP和MAC 动作有转发和丢弃两个 access-list 4 perm...

xsc848788 ⋅ 2014/02/10 ⋅ 0

企业应用架构模式 读书笔记

模式列表 Active Record 活动记录:包装数据库表或视图中的行,封装数据库访问,并将业务逻辑加到该数据上的对象。 Application Controller 应用控制器:处理屏幕导航和应用流程的集中控制点...

lilugirl ⋅ 2014/04/27 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Day 17 vim简介与一般模式介绍

vim简介 vi和Vim的最大区别就是编辑一个文件时vi不会显示颜色,而Vim会显示颜色。显示颜色更便于用户编辑,凄然功能没有太大的区别 使用 yum install -y vim-enhanced 安装 vim的三种常用模式...

杉下 ⋅ 59分钟前 ⋅ 0

【每天一个JQuery特效】根据可见状态确定是否显示或隐藏元素(3)

效果图示: 主要代码: <!DOCTYPE html><html><head><meta charset="UTF-8"><title>根据可见状态确定 是否显示或隐藏元素</title><script src="js/jquery-3.3.1.min.js" ty......

Rhymo-Wu ⋅ 今天 ⋅ 0

OSChina 周四乱弹 —— 初中我身体就已经垮了,不知道为什么

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @加油东溪少年 :下完这场雨 后弦 《下完这场雨》- 后弦 手机党少年们想听歌,请使劲儿戳(这里) @马丁的代码 :买了日本 日本果然赢了 翻了...

小小编辑 ⋅ 今天 ⋅ 12

浅谈springboot Web模式下的线程安全问题

我们在@RestController下,一般都是@AutoWired一些Service,由于这些Service都是单例,所以并不存在线程安全问题。 由于Controller本身是单例模式 (非线程安全的), 这意味着每个request过来,...

算法之名 ⋅ 今天 ⋅ 0

知乎Java数据结构

作者:匿名用户 链接:https://www.zhihu.com/question/35947829/answer/66113038 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 感觉知乎上嘲讽题主简...

颖伙虫 ⋅ 今天 ⋅ 0

Confluence 6 恢复一个站点有关使用站点导出为备份的说明

推荐使用生产备份策略。我们推荐你针对你的生产环境中使用的 Confluence 参考 Production Backup Strategy 页面中的内容进行备份和恢复(这个需要你备份你的数据库和 home 目录)。XML 导出备...

honeymose ⋅ 今天 ⋅ 0

JavaScript零基础入门——(九)JavaScript的函数

JavaScript零基础入门——(九)JavaScript的函数 欢迎回到我们的JavaScript零基础入门,上一节课我们了解了有关JS中数组的相关知识点,不知道大家有没有自己去敲一敲,消化一下?这一节课,...

JandenMa ⋅ 今天 ⋅ 0

火狐浏览器各版本下载及插件httprequest

各版本下载地址:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ httprequest插件截至57版本可用

xiaoge2016 ⋅ 今天 ⋅ 0

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 今天 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部