(1)Nacos服务分级存储模型
Nacos 服务分级存储模型是指 Nacos 将服务分为三个层次:服务、集群和实例 。
1.第一级是服务。
2.第二级是集群。
3.第三级是实例。
这种分级存储模型的目的是为了提升整个系统的容灾性。通过将同一个服务的多个实例部署到不同地域的机房中,可以避免单点故障。同时,微服务之间的远程调用会优先调用同一个地域的集群中的实例,以保证访问速度快、延迟低。当同地域的集群服务不可用时,可以跨地域集群访问,保证服务的高可用,提升系统的容灾能力。
(2)nacos中MODE="cluster"
在 Nacos 中,MODE="cluster" 表示 Nacos 以集群模式运行。集群模式需要至少 3 个或以上的 Nacos 节点才能构成集群。
集群模式提供了更高的可用性和可扩展性,适用于生产环境。在集群模式下,您需要配置集群配置文件 cluster.conf,在其中指定每个 Nacos 节点的 IP 地址和端口号。
(3)nacos 中MODE="standalone"
在 Nacos 中,MODE="standalone"
表示 Nacos 以单机模式运行。单机模式适用于快速构建开发或测试环境,但不推荐用于生产环境。
在单机模式下,您不需要配置集群配置文件 cluster.conf
,只需要启动一个 Nacos 节点即可。
(4)nacos中的临时实例和非临时实例
在 Nacos 中,实例分为临时实例和非临时实例(也称为永久实例)两种类型。
临时实例只是临时存在于注册中心中,会在服务下线或不可用时被注册中心剔除。临时实例会与注册中心保持心跳,注册中心会在一段时间没有收到来自客户端的心跳后会将实例设置为不健康,然后在一段时间后进行剔除。
非临时实例在被删除之前会永久的存在于注册中心,且有可能并不知道注册中心存在,不会主动向注册中心上报心跳。那么这个时候就需要注册中心主动进行探活。对于永久实例的监看检查,Nacos 采用的是注册中心探测机制,注册中心会在永久服务初始化时根据客户端选择的协议类型注册探活的定时任务。
您可以通过设置 ephemeral 属性来指定实例是否为临时实例。例如,在配置文件中添加以下内容:
spring:
cloud:
nacos:
discovery:
ephemeral: false # 设置为非临时实例
# 临时实例宕机时,会从nacos的服务列表中剔除,而非临时实例则不会