nacos源码-集群发现
nacos中,无论是单机模式,还是集群模式,其根本区别只是 Nacos 成员节点的个数是单个还是多个,并且, 要能够感知到节点的变更情况:节点是增加了还是减少了;当前最新的成员列表信息是什么;以何 种方式去管理成员列表信息;如何快速的支持新的、更优秀的成员列表管理模式等等。
nacos支持三种类型的寻址模式:
1、单机寻址
2、文件寻址
我们可以得知,nacos提供了两种不同的集群配置模式:
1、配置文件中读取
2、远程接口动态更新
二者都支持动态的更新,显然第二种模式对运维人员更加友好,下面来看nacos是怎实现的。
源码分析
1、所有的集群统一由ServerMemberManage进行管理,这个类在初始化时
StandaloneMemberLookup单机模式中
FileConfigMemberLookup配置文件中
2、配置文件变更的动态感知
注册文件监听
依靠WatchFileCenter中的死循环任务
AddressServerMemberLookup中的定时任务
总结