SpringCloud集群配置问题总结

此处集群配置了三个节点peer1,peer2,peer3

peer1节点注册到了peer2节点,peer2节点注册到了peer3节点,peer3节点注册到peer1节点

服务service注册到节点peer2上

1. 节点之间的同步问题

访问peer1节点主页

SpringCloud集群配置问题总结_第1张图片

peer2节点主页

SpringCloud集群配置问题总结_第2张图片

peer3节点主页

SpringCloud集群配置问题总结_第3张图片

由上图可知:节点peer1有节点peer2的信息,却没有peer2的服务注册信息;节点peer2有节点peer3的信息和peer2自身注册的服务信息;节点peer3有peer1的节点信息,有peer2节点的服务注册信息;

说明:eureka集群节点的同步,只会把本节点信息同步到自己注册的节点上(peer2节点把本节点注册的服务同步到peer3节点上),本节点同步的其他节点信息不做同步操作(peer3节点同步的peer2的信息,没有同步到peer1)

结论:eureka服务节点要实现高可用性,要满足集群节点之间两两互联,两两通信

2. 某个节点挂掉的问题

创建另一个服务client2注册到peer1节点,在client2中调用client服务

        此处关闭peer2节点,在peer2节点上注册的服务会异步删除(依据多长时间接受不到同步数据进行删除),peer3节点不能响应peer2节点上服务的心跳回应,时间到临界值后,会删除peer2同步的节点信息

       但是在客户端会维护一个缓存列表,通过缓存列表可以继续调用服务

3. 集群中两个节点不相连,无同步信息,则其中的服务不会被调用

节点peer1注册在peer2上,节点peer2注册在peer3上,peer3注册在peer上,peer注册在peer1上

通过peer1节点订阅服务时,不能订阅到peer3上的服务,

因为peer1与peer2没有直接相连,也没有间接同步信息

你可能感兴趣的:(SpringCloud)