Nacos内部注册的服务分为两大类
1、临时实例(默认)
2、持久化实例(永久实例)
我们可以通过设置属性来确定它是临时还是永久,一般情况下,我们创建的服务都是临时实例
只有项目的主干业务才会设置为永久实例
- spring:
- cloud:
- nacos:
- discovery:
- # ephemeral设置当前项目启动时注册到nacos的类型,
- # true(默认):临时实例
- # false:永久实例
- ephemeral: true
默认情况下,启动服务后,每隔5秒会向nacos发送一个"心跳包",这个心跳包中包含了当前服务的基本信息
Nacos收到这个"心跳包"如果发现这个服务的信息不在注册列表中,就进行注册,如果这个服务的信息在注册列表中就表明这个服务还是健康的
如果Nacos15秒内没接收到某个服务的心跳包,Nacos会将这个服务标记为不健康的状态
如果30秒内没有接收到这个服务的心跳包,Nacos会将这个服务从注册列表中剔除
这些时间都是可以通过配置修改的
持久化实例启动时向nacos注册,nacos会对这个实例进行持久化处理
心跳包的规则和临时实例一致,只是不会将该服务从列表中剔除