tomcat install msm config

msm 搭建配置

数据存储: 数据如何组织 非关系模型:层层、网状 关系模型:表,约束
Nosql database 键值存储 redis、memcached(没有持久能力,不能称存储,仅是一个缓存服务,支持流式数据) 文档存储 列式存储 hadoop 图式存储 持久存储 TSDB 基于内存存储
数据传输 定义传输通道,如管道 根据管道相关规则将数据分解为准备发送的数据,接收者根据管道相关规则组成数据的原始状态
序列化/流式化:数据拆分和还原 方法是让对方知道如何还原数据
数据结构 基于源数据解析,接/收基于同一个规范
副作用,内存频繁存储删除,会造成内存碎片,每次数据访问,遍历内存,做影响性能,巨大,如何规避内存碎片 slab allocator 内存分配器 1、定义内存大小,并占用此内存 2、内存空间切分,多类固定大小,分别存主不同的数据
事物发展当中,时间和空间是对立的指标 造成空间浪费,但会提升性能
memcahed 分布式集群,集群之前数据互不通讯 空间耗尽不允许淘汰 -M

示例:安装memcached

获取 memcached-session-manager jars to tomcat

msm:memcached session manager session流式化存入内存结构中,称为序列化工具:jar类库 tomcat:有不同的版本对应不同的软件包
应用程序 解释器JVM、内键session manager 自研的session管理器 借助msm引入给tomcat额外的管理器,能够驱动外部第三方存储系统做为tomcat之上存储和管理session解决方案 1、借助这样的session manager ,tomcat可以把session放入第三方主存储中 2、流式化(序列化),数据的拆分和还原 3、连接器的类库 4、存储适配相关的 jar 驱动
Application存储 session –> 底层解释器, JAVA虚拟机的功能 –> 使用 tomcat功能模块(session manager)
tomcat –> 会话管理器jar –> 存储驱动jar –> 如redis memcached
sticky 最容易的管理机制 往后端存储session,只有一个在工作,称sticky机制,多个tomcat固定使用一个节点 热备,让多个节点活动起来
支持4种序列号工具 kyo-serializer 易用,推荐 jarvolution-serializer xstream-serializer fiexjson-serializer

获取 memcached-session-manager jars to tomcat

添加tomcat 相关jar文件并放入$CATALINA_HOME/lib/

注意版本号,tc8为tomcat8,将这些第三方jar包放入到tomcat第三方库目录即可lib

序列化程序jar工具

memcached客户端/驱动

如果您不使用基于 maven 存储库的依赖项管理,这些是不同序列化程序所需的 jars

粘性会话 sticky sessions + kryo

tomcat 配置

查看日志

客户端访问

sessionID不会改变,但可以调度到不同的tomcat后端主机上
notion image
notion image
注意:sticky模式当故障转移出去,没有故障移回机制

非粘性会话 non-sticky sessions + kryo

non-sticky模式没有故障转移节点,所有节点都是活动的,节点各自存一部分数据

tomcat 配置

查看日志

客户端访问

notion image
notion image

非粘性会话 non-sticky sessions + kryo + Redis

将jar包放入tomcat,$CATALINA\_HOME/lib/目录下

配置tomcat

查看日志

客户端访问

notion image
notion image
注意:这里redis仅支持一个节点,redis有主从功能和持久存储,主节点宕机,需要人为的介入切换

小结

下载jar包注意版本号,根据文档下载对应的版本号
https://blog.csdn.net/hsj1213522415/article/details/78035433 粘性 session 就是指,apache 服务器会把某个用户的请求,交给 tomcat 集群中的一个节点,以后此节点就负责该保存该用户的 session,如果此节点挂掉,那么该用户的 session 也会消失(单个活动节点) 非粘性 session:这种方式下,通过负载均衡器会根据节点的情况,把用户的请求进行分发,也就是会复制多份 session 分发给多个节点,这样,如果节点中其中一个 session 挂掉的话,其他的还能继续工作,也就是只要有一个节点没有挂掉,该用户的信息就不会消失(多个活动节点)
Loading...