Tomcat集群同步原理

参考自:https://blog.csdn.net/hty46565/article/details/73302769utm_source=itdadao&utm_medium=referral

1.首先各个节点有三个组件:

Manager:将操作的信息记录下来

Cluster:序列化信息

Tribes:将信息发送出去

信息发送出去的格式是ClusterMessage,其他节点的接受操作刚好相反。

2.同步方式有两种:

集群增量会话管理器:

a.这是一种全节点复制模式,即其中有一个节点发生变化后,将同步到其他节点。

b.其次,该复制模式还有一个特点就是只同步会话增量的特点,增量是以一个会话为周期,即在一个请求被响应之前同步到各个节点上。

集群备份会话管理器:

上面的集群层梁会话管理器有一个缺点:当集群节点数增大时,会导致网络通信量急剧增加。备份会话管理器则是每个会话只有一个备份。

3.ClusterMessage实现了Serializable接口,所以它可以序列化Cluser发送给其他节点。

ChannelListener

当信息被通过ClusterMessage发出后,节点通过信道监听信息。当tribes接受到信息后,它会调用accept方法判断是否需要接受此信息,若为true则调用messageRecevied接受信息。接着,它回调deltamessage类中的messageDataRecevied方法来处理。

messageReceived通过判断不同的会话进行不同的处理。

messageDataRecevied则通过判断不同的会话事件进行不同的处理。

你可能感兴趣的:(Tomcat集群同步原理)