【源码分析】Nacos如何使用AP协议完成服务端之间的数据同步?

AP节点的同步使用的是异步任务+消息队列的方式来实现的。
在这里插入图片描述
在这里插入图片描述

取出任务之后将会放入到一个List集合中。
然后会发现任务的执行是由条件的。
首先是当前集群的节点数量等于1000,那么此时会直接开始同步,当然这个条件在小项目中不会成立,所以还有一个条件就是当前时间和上一次的同步的时间超过了2s之后,也会执行一次任务的同步。
在这里插入图片描述
在这里插入图片描述

这里在进行数据同步的时候,我们可以考虑到,这次的注册的节点可能是注册到Nacos服务端1,那么其他几个Nacos服务端想要同步实例数据到自己的内存,我们就可以使用很简单的HTTP的方式去同步数据。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

可以发现最后其实就是发送HTTP请求然后发送服务实例同步的方法。
在这里插入图片描述

然后就又调回了数据同步的方法。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Zhangsama1/article/details/132143057