具体配置步骤:
第一步:准备三个nacos,3个或3个以上Nacos节点才能构成集群;
第二步:在Nacos的conf目录下有一个cluster.conf.example,可以直接把example扩展名去掉来使用,也可以单独创建一个cluster.conf文件,然后在该文件中每行配置一个ip:port;
例:
192.168.172.128:8801
192.168.172.128:8802
192.168.172.128:8803
第三步:配置nacos持久化的方式,配置好数据持久化到MySQL,生产使用建议至少主备模式,或者采用高可用数据库;
集群下客户端怎么连?
- 第一种:可以在单机的基础上加多个IP和端口中间用逗号隔开;
spring.cloud.nacos.discovery.server-addr=192.168.172.128:8801,192.168.172.128:8802,192.168.172.128:8803
- 第二种:配合Nginx代理我们的Nacos集群,配置里就直接写Nginx的IP和端口即可;
Nacos集群节点有三种角色状态:leader、follower、candidate;
当leader宕机,会从剩下的follower中投票选举出一个新的leader,选举算法是基于Raft算法实现;
经测试,发现有一点与三个角色不符,部署3个nacos节点,其中宕机2台,只剩下一个节点,此节点将变为candidate角色,但是此时该nacos集群仍然可以注册服务,订阅服务,(按照正确的理论应该是:如果nacos集群中没有leader角色的节点就不能注册服务,因为leader角色处理事务性请求),这比较匪夷所思,有待研究;
本文详细介绍了如何配置Nacos集群,包括准备三个节点、配置cluster.conf文件以及设置数据持久化到MySQL。同时,探讨了Nacos集群中节点的角色状态变化,特别是当节点宕机时,集群仍能保持服务注册和订阅的情况,这与通常理论有所出入,提出了这一现象的观察和研究价值。
2746

被折叠的 条评论
为什么被折叠?



