MSM--memcached session manager是一个高可用的Tomcat session共享解决方案,除了可以从本机内存快速读取Session信息(仅针对黏性Session)外,同时可使用memcached存取Session,以实现高可用。
对于非黏性Session,memcached直接存储session。
除memcached外,还可以其他缓存组件如memcachedb, membase等。
特性
支持Tomcat6、Tomcat7
支持黏性、非黏性Session
无单一故障点
可处理tomcat故障转移
可处理memcached故障转移
插件式session序列化
允许异步保存session,以提升响应速度
只有当session有修改时,才会将session写回memcached
JMX管理&监控
MSM解决的问题
假设你有一个Tomcat集群,使用黏性session,如何应对单点故障问题?为了应对更多的并发量和可用性,你可以不断的增加Tomcat节点,但是单点故障仍旧会是个问题:如果使用黏性Session,一个Tomcat故障时,其他Tomcat并不能接管故障Tomcat节点的Session。
解决此问题的思路就是将黏性Session同时保存在Memcached中,如果单个Tomcat发生故障,集群中的其他Tomcat可以从Memcached中得到Session信息。
【注】对于非黏性Session,MSM V1.4.0及以后版本已经支持。
MSM如何工作
【注】以下论述仅针对黏性Session
安装在Tomcat上的MSM使用本机内存保存session,和StandardManager一样。另外,当一个请求结束时,session会被送回Memcached进行备份。当下一次请求开始时,本地Session可用,直接服务,请求结束后,session又被送回Memcached备份。
当集群中的一个Tomcat挂掉,下一次请求会被路由到其他Tomcat上。负责处理此此请求的Tomcat并不清楚Session的信息。此时它会从Memcached查找该Session,更新该Session并将其保存在本机内容。此次请求结束,session被修改,送回Memcached备份。
相关推荐
spring session分布式session会话管理 分布式系统session的管理
缓存和Session:注解redis缓存数据,Spring-session和redis实现分布式session同步,重启服务会话不丢失。 数据同步:基于redis的分布式锁。 Web安全:实现XSS过滤和CSR过滤。 多系统交互:Dubbo,ActiveMQ多系统交互...
Session一词直译为“会话”,意指有始有终的一系列动作/消息。Session是Web应用蓬勃发展的产物之一,...Session管理正是上述问题的解决方案,把用户的信息与状态保存在Session中,弥补了Web应用中HTTP协议的不足。Sessi
common 通用依赖、接口等 provide 服务提供方,依赖common web 服务消费方,依赖common,web-ui ...spring-cloud-config管理配置 其他 nginx反向代理 前端: 采用vuejs + webpack + vue各大组件(vue
毕业设计-分布式软件测试管理系统的设计与实现。 1项目模块 common 通用依赖、接口等 provide 服务提供方,依赖common web 服务消费方,依赖common,web-ui web-ui vue+webpack前端项目 cloud-config-repo 配置信息 ...
前后端分离,前端系统只有html、js 权限管理为shiro,缓存为redis集群 策略:sessionid不随机生成,使用url+用户名作为sessionId
7.分布式Session使用redis实现 8.分布式服务追踪与调用链Sleuth+ZipKin C.项目运营与部署环境 1.分布式设施环境,统一采用docker安装 2.使用jenkins+docker实现自动部署 3.微服务API管理ApiSwagger 4.使用GitLab代码...
注解redis缓存数据,Spring-session和redis实现分布式session同步(建议按功能模块划分系统)。 6、日志 =========== logback打印日志,业务日志和调试日志分开打印。同时基于时间和文件大小分割日志文件。 9、...
本篇文章主要介绍了如何使用Spring+redis实现对session的分布式管理,本文主要是在Spring中实现分布式session,采用redis对session进行持久化管理,感兴趣的小伙伴们可以参考一下
distributed-session-manager基于Tomcat7redis配置:
session-data-redis解决分布式统一session管理,也有junit4单元测试,前端jQuery、bootstrap、以及其他很多流行的js组件。目前已经完整整合,即可做为restapi也可作为前端展示,一般的业务可以基于此快速开发,大幅...
spring cloud分布式电商实战代码,并且对以下内容进行了详细笔记记录:maven聚合工程创建,消息总线,分库分表,全局异常处理,分布式session管理,ZK分布式锁,分布式ID生成,SKU概念和表设计,全文检索,缓存
FourInOne(中文名字“四不像”)是一个四合一分布式计算框架,在写这个...开发包里自带了一系列傻瓜上手demo,包括分布式计算、统一配置管理、集群管理、分布式锁、分布式缓存、MQ等方面帮助掌握fourinone的全部功能
实现了多种应用功能:微服务架构、基于zbus或motan的RPC框架、用户与权限管理、基于Redis的分布式session技术、基于zbus的消息框架、E-Mail后台发送技术、后台接口展示技术、分布式节点动态管理、自定义反向代理。...
基于springboot+dubbo分布式架构,提供分布式缓存、分布式锁、分布式Session、读写分离等统一组件及RBAC权限管理等模块。
4.掌握分布式Session和分布式调度解决方案度解决方案 多场景落地六大分布式解决方案 1.实战分布式锁实现高并发引起的超卖问题 2.实战Redisson框架解决用户重复注册问题 3.实战Seata事务解决下订单减库存一致性问题 ...
详细介绍了分布式事务实现的模式中的Event Sourcing模式,并通过完整实例演示了Event Sourcing模式下,实现微服务系统的分布式事务的完整过程。 8-1 事件溯源模式介绍 8-2 事件溯源模式与Axon框架-1 8-3 事件溯源...
开发包里自带了一系列傻瓜上手demo,包括分布式计算、统一配置管理、集群管理、分布式锁、分布式缓存、MQ等方面, 每个demo均控制在少许行代码内,但是涵盖了Fourinone主要的功能,方便大家快速理解并掌握。...