参考自: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则通过判断不同的会话事件进行不同的处理。
网友评论