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工具
https://repo1.maven.org/maven2/de/javakaffee/msm/memcached-session-manager/2.3.2/memcached-session-manager-2.3.2.jarhttps://repo1.maven.org/maven2/de/javakaffee/msm/memcached-session-manager-tc8/2.3.2/memcached-session-manager-tc8-2.3.2.jar
memcached客户端/驱动
如果您不使用基于 maven 存储库的依赖项管理,这些是不同序列化程序所需的 jars
kryo-serializerhttps://repo1.maven.org/maven2/de/javakaffee/msm/msm-kryo-serializer/2.3.2/msm-kryo-serializer-2.3.2.jarhttps://repo1.maven.org/maven2/de/javakaffee/kryo-serializers/0.45/kryo-serializers-0.45.jarhttps://repo1.maven.org/maven2/com/esotericsoftware/kryo/3.0.3/kryo-3.0.3.jarhttps://repo1.maven.org/maven2/com/esotericsoftware/minlog/1.3.1/minlog-1.3.1.jarhttps://repo1.maven.org/maven2/com/esotericsoftware/reflectasm/1.11.9/reflectasm-1.11.9.jarhttps://repo1.maven.org/maven2/org/ow2/asm/asm/5.2/asm-5.2.jarhttps://repo1.maven.org/maven2/org/objenesis/objenesis/2.6/objenesis-2.6.jar
粘性会话 sticky sessions + kryo
tomcat 配置
查看日志
客户端访问
sessionID不会改变,但可以调度到不同的tomcat后端主机上


注意:sticky模式当故障转移出去,没有故障移回机制
非粘性会话 non-sticky sessions + kryo
non-sticky模式没有故障转移节点,所有节点都是活动的,节点各自存一部分数据
tomcat 配置
查看日志
客户端访问


非粘性会话 non-sticky sessions + kryo + Redis
将jar包放入tomcat,$CATALINA\_HOME/lib/目录下
配置tomcat
查看日志
客户端访问


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