Nacos的服务实例分为两种类型:
临时实例:
如果实例宕机超过一定时间,会从服务列表剔除,默认的类型。
非临时实例:
如果实例宕机,不会从服务列表剔除,也可以叫永久实例。
nacos如何配置一个服务实例为永久实例?
spring:
cloud:
nacos:
discovery:
ephemeral: false # 设置为非临时实例
Nacos和Eureka整体结构类似,服务注册、服务拉取、心跳等待,但是也存在一些差异:
Nacos与eureka的共同点
1、都支持服务注册和服务拉取
2、都支持服务提供者心跳方式做健康检测
Nacos与Eureka的不同点
1、Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式。
2、临时实例心跳不正常会被剔除,非临时实例则不会被剔除。
3、Nacos支持服务列表变更的消息推送模式,服务列表更新更及时。
4、Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式(侧重于数据一致性,可靠性。更加消耗性能);Eureka采用AP方式(侧重于服务的整体可用)。