多节点Nacos如何获得主节点、从节点

2023-08-16  本文已影响0人  曾经像素有点低

背景

Nacos是一个开源的服务注册与发现、配置管理的平台,它用于帮助应用程序实现动态服务发现和配置。

一、CAP原则:

CAP理论是针对分布式数据库而言的,它是指在一个分布式系统中,
一致性(Consistency,C)
可用性(Availability,A)
分区容错性(Partition Tolerance, P)
三者不可兼得。

Nacos支持"AP"(可用性 | 分区容错性) 和"CP"(一致性 | 分区容错性)两种 默认是AP

如果注册Nacos的client节点注册时ephemeral=true,那么Nacos集群对这个client节点的效果就是AP,采用distro协议实现;

如果注册Nacos的client节点注册时ephemeral=false,那么Nacos集群对这个节点的效果就是CP的,采用raft协议实现。

根据client注册时的属性,AP,CP同时混合存在,只是对不同的client节点效果不同。Nacos可以很好的解决不同场景的业务需求。

false为永久实例,true表示临时实例开启,注册为临时实例,默认是true
spring.cloud.nacos.discovery.ephemeral=true

二、主从节点的异同

Nacos是一个用于动态配置管理和服务发现的开源系统。在Nacos中,有主节点和从节点两种类型的节点,它们在功能和角色上有一些异同。
(以下关于主、从节点的描述均是指Nacos在CP模式下:)
异同之处如下:

  1. 主节点(Leader):

    • 负责整个Nacos集群的管理和调度。
    • 处理配置信息的写入和更新操作。
    • 管理和分配从节点的任务并协调它们之间的工作。
    • 如果主节点不可用,从节点中的一个会被选举为新的主节点。
  2. 从节点(Follower):

    • 接收主节点分配的任务并执行它们。
    • 从主节点同步配置信息。
    • 当主节点不可用时,从节点之间会通过选举机制选择新的主节点。
    • 不能处理写入和更新操作,这些操作只能由主节点执行。

总的来说,主节点负责整个Nacos集群的管理和调度,处理写入和更新操作,而从节点则负责执行主节点分配的任务和同步配置信息。当主节点出现故障或不可用时,从节点会通过选举产生新的主节点,以保证系统的正常运行。

三、在Web端配置方面的区别

在Nacos的Web端配置主节点和从节点主要涉及以下方面的不同:

  1. 配置主节点:

    • 在Nacos的Web端,配置主节点需要设置节点类型为主节点(Leader)。
    • 主节点负责整个Nacos集群的管理和调度,处理写入和更新操作。
    • 主节点需要管理和分配从节点的任务,并协调它们之间的工作。
  2. 配置从节点:

    • 在Nacos的Web端,配置从节点需要设置节点类型为从节点(Follower)。
    • 从节点接收主节点分配的任务并执行它们,同时与主节点同步配置信息。
    • 从节点不能处理写入和更新操作,这些操作只能由主节点执行。

需要注意的是,在Nacos的Web端配置节点类型为主节点或从节点时,需要确保节点已经正确地部署和启动,以便进行节点注册与发现。此外,配置主节点和配置从节点都是基于Nacos的集群环境,用于提高系统的可用性和可扩展性。

四、选举原理:

我们以三节点部署的Nacos集群为例,简单描述下Nacos集群的选举原理

在三节点的Nacos集群中,有一个节点会被选举为主节点,而其他两个节点则成为从节点。Nacos使用Raft一致性算法来实现主节点的选举和数据的复制。

Raft算法中的角色分为三种:候选人(Candidate)领导者(Leader)追随者(Follower)

除了选举过程之外,Nacos还提供了API和Web界面来查看当前的集群状态。在Web界面中,您可以查看每个节点的角色和状态,并明确哪个节点是主节点,哪些是从节点。

五、如何选举新的主节点:

当Nacos集群的三个节点之中有一个节点挂掉后,剩下的两个节点会继续参与选举新的主节点。以下是选举过程的简要描述:

需要注意以下几点:

通过以上步骤和注意事项,Nacos集群中的两个节点能够进行选举,选择出新的主节点,并保持集群的正常运行。

上一篇 下一篇

猜你喜欢

热点阅读