Nacos 服务实例类型

Nacos 的服务实例分为两种类型:

  • 临时实例:如果实例宕机超过一定时间,会从服务列表剔除,默认的类型。
  • 非临时实例:如果实例宕机,不会从服务列表剔除,也可以叫永久实例。

配置一个服务实例为永久实例:

  1. spring:
  2. cloud:
  3. nacos:
  4. discovery:
  5. ephemeral: false # 设置为非临时实例

Nacos 注册中心原理

Nacos 和 Eureka 整体结构类似,服务注册、服务拉取、心跳等待,但是也存在一些差异:
Nacos 与 Eureka 的异同 - 图1

Nacos 与 Eureka 的共同点

  • 都支持服务注册和服务拉取
  • 都支持服务提供者心跳方式做健康检测

    Nacos 与 Eureka 的区别

  • Nacos 支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式

  • 临时实例心跳不正常会被剔除,非临时实例则不会被剔除
  • Nacos 支持服务列表变更的消息推送模式,服务列表更新更及时
  • Nacos 集群默认采用 AP 方式,当集群中存在非临时实例时,采用 CP 模式;Eureka采用 AP 方式