#独家
nacos集群中的某个节点重启后,是怎么还原之前的临时节点数据的?

2023-08-12 0 4,191

nacos服务端集群中的某个节点重启后,内存里的注册的instances都消失了。
它是怎么保证nacos-server重启后,重新得到已注册节点的数据的?

猜想1:启动的时候,就从其他存活的nacos-server节点里,把一次性把数据全量复制过来。有这个过程吗?源码入口在哪里?

猜想2:客户端的心跳任务是一直存活的,不断发送心跳请求/instance/beat。InstanceController会收到心跳,刷新时间戳。但是没找到Instacne时,会重新注册。
但这种方式,只保证这1个instance的重新注册。 难道只能依赖所有微服务各自的心跳,并且恰巧发送到这个重启后的nacos时,才能一点点还原回来吗。

猜想3:不用还原,nacos注册中心AP模式,重启之后,不一样就不一样。但是个人感觉不太可能,要不然页面上查不到了。

所以究竟是哪种情况呢?很多源码课程里面也没讲到

这篇文章有涉及:Nacos源码分析-集群间临时实例数据的一致性同步
猜想一:在源码中查看com.alibaba.nacos.naming.core.ServiceManager和com.alibaba.nacos.naming.consistency.persistent.raft.RaftCore类可以看看这个过程。
猜想二:这篇文章有讲到心跳机制的源码:Nacos注册中心原理及核心源码分析大致的算法就是通过serviceName计算出一个Hash值然后跟Nacos集群中所有机器数量进行取模,得到的结果如果跟当前Nacos Server节点在集群List的index和lastIndex之间,那么就采用当前的Nacos Server节点进行心跳检测。
。你的第一个和第二个猜想没问题,猜想三不太对,在AP模式下,Nacos可能会牺牲一些一致性来保证更高的可用性。但是重启之后后Nacos一样会尽量保证数据的一致性。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. JK下载官网所有资源来源于开发团队,加入会员即可下载使用!如有问题请联系右下角在线客服!
2. JK下载官方保障所有软件都通过人工亲测,为每位会员用户提供安全可靠的应用软件、游戏资源下载及程序开发服务。
3. JK开发团队针对会员诉求,历经多年拥有现今开发成果, 每款应用程序上线前都经过人工测试无误后提供安装使用,只为会员提供安全原创的应用。
4. PC/移动端应用下载后如遇安装使用问题请联系右下角在线客服或提交工单,一对一指导解决疑难。

JK软件下载官网 技术分享 nacos集群中的某个节点重启后,是怎么还原之前的临时节点数据的? https://www.jkxiazai.com/2509.html

JK软件应用商店是经过官方安全认证,保障正版软件平台

相关资源

官方客服团队

为您解决烦忧 - 24小时在线 专业服务