Tomcat集群如何同步会话
Tocmat集群中最重要的交换信息就是会话消息,对某个tomcat实例某会话做的更改要同步到集群其他tomcat实例的该会话对象,这样才能保证集群所有实例的会话数据一致。在tribes组件的基础上完成这些工作就相当容易些,tribes是tomcat实现的一个通信框架。
如下图,tomcat实现会话同步的过程中大致会使用如下组件,现在假设中间的tomcat实例的会话改变了,它会通过会话管理器Manager将改变的动作消息封装成消息然后调用集群对象Cluster,通过Cluster将消息发送出去,同时Cluster又依赖于tribes,最后消息其实是交由tribes真正发送的,通信过程是以ClusterMessage为对象传输的,它会先被序列化进行传输,到达左边和右边的tomcat实例时会被反序列化,消息由tribes接收后往Cluster上传,最后到达会话管理器Manager,Manager根据动作消息去同步会话。
所以Cluster其实就是实现了ChannelListener的监听类,当tribes接收到消息后就会调用此监听器的messageReceived方法处理逻辑,此方法又会继续往上通知Manager的messageDataReceived方法,此方法内完成会话同步处理逻辑。关于会话具体的同步机制tomcat提供了两种,分别是“集群增量会话管理器——DeltaManager”和“集群备份会话管理器——BackupManager”。
- DeltaManager会话管理器
DeltaManager会话管理器是tomcat默认的集群会话管理器,它主要用于集群中各个节点之间会话状态的同步维护。集群增量会话管理器的职
Tomcat集群如何同步会话相关推荐
- Tomcat集群应用同步 —— 源码分析
文章目录 前言 一.应用同步的配置与实现原理 二.应用同步源码分析 三.如何获取集群的节点列表 四.通讯模块Tribe 五.集群的Session同步 六.集群的Session共享 总结 前言 相信大家 ...
- apache+jk+tomcat集群+session同步
说明借前人之鉴写一篇关于tomcat集群及session同步的问题首先介绍tomcat集成及做集群的原因和必要性session同步的作用.然后包括各软件的安装配置. 原理tomcat 做个WEB服务器 ...
- window xp Apache与Tomcat集群配置--转载
转载地址:http://www.cnblogs.com/obullxl/archive/2011/06/09/apache-tomcat-cluster-config.html 一. 环境说明 Win ...
- Nginx+tomcat集群的session共享问题
请求负载过程中会话信息不能丢失.那么需要在多个tomcat中session需要共享.所以需要进行相关问题的解决 配置Tomcat的session共享可以有三种解决方案: 第一种:是以负载均衡服务器本身 ...
- Tomcat集群实现源码级别剖析
随着互联网快速发展,各种各样供外部访问的系统越来越多且访问量越来越大,以前Web容器可以包揽接收-逻辑处理-响应整个请求生命周期的工作,现在为了构建让更多用户访问更强大的系统,人们通过不断地业务解耦. ...
- windows下tomcat集群配置(两种方法)
两种方法只是在配置上不同原理一样,因为apache2.X后其自身集成了mod_jk功能,相对于1.3版本,不需要再进行繁琐的worker.properties配置,配置过程大幅简化. 一.软件需求 操 ...
- MSM实现tomcat集群的session共享
本文首发于我的个人网站: https://hewanyue.com/ 本文作者: Hechao 本文链接: https://hewanyue.com/blog/6254cc16.html 会话保持起源 ...
- tomcat集群配置
首先准备两个tomcat包 分别修改config目录下server.xml文件中的端口号 <Server port="8015" shutdown="SHUTDOW ...
- Windows下搭建Tomcat集群的配置详解
< Windows下搭建Tomcat集群基础入门详解 > 前言 在搭建 < Apache + Tomcat 实现Web服务器集群 > 前我们还需要实现 Tomcat集群实现Se ...
最新文章
- JAVA——改变观感
- Uipath 学习栏目基础教学:13、Uipath调用python代码
- tensorboard 使用教程
- ups容量计算和配置方法_UPS电路设计的空开、电缆及电池如何配置,计算依据是什么...
- APMServ5.2.6 升级php5.2 到 5.3版本及Memcache升级!
- mysql 5.5 编译安装教程,Centos6下mysql 5.5.* 编译安装步骤详解
- 技术人必读:如何让自己成长为IT项目管理者
- SAP FICO面试题
- java程序启动端口_查看项目端口和启动情况
- mysql codesmith_CodeSmith连接不上MySQL的解决方法
- 计算机英语写作,计算机英语8.4_电邮写作+.ppt
- 2022拼多多详情/拼多多商品详情/拼多多sku详情
- java 数字转英文_Java如何将数字转成英文
- 装完虚拟机后键盘无法使用
- bzoj 4318 osu 【三次方问题】【dp】
- 蓄电池测量原理——TFN DC36060A 高精度充电机 蓄电池放电容量测试仪
- 互联网思维不重要,重要的是玩法变了
- 前端学习笔记:省市区三级联动
- Python控制自己的手机摄像头拍照,并把照片自动发送到邮箱
- win10系统重装win7系统bios设置方法
热门文章
- 完美解决:针对tensorflow中,tf.logging.set_verbosity(tf.logging.ERROR)问题。
- 2023年全国最新道路运输从业人员精选真题及答案7
- 三星A7计算机,三星A72手机参数怎么样?三星a72参数一览
- 【随记】Flink 时间窗口的起始时间
- 基于Java EE的企业资金管理系统设计与实现
- react使用mockjs模拟数据
- 比例阀放大器10KΩ电位器控制指令输入接线图
- 正点原子linux阿尔法开发板使用——驱动开发篇
- windows下oracle数据库的备份和还原
- 大恶人吉日嘎拉之走火入魔闭门造车之.NET疯狂架构经验分享系列之(五)代码复用...