注册到 Nacos 的服务有两种不同的模式:临时实例模式和持久化实例模式。
一、临时实例模式
-
特点:
- 采用客户端主动心跳上报的方式来维持服务实例的注册状态。如果一段时间内 Nacos 服务端没有收到客户端的心跳,就会将该服务实例从注册列表中移除。
- 通常适用于动态变化频繁、需要实时感知服务实例状态变化的场景。
-
应用场景:
- 微服务架构中的一些短期运行的服务,或者服务实例数量动态变化较大的情况。例如,一些处理临时任务的服务,其实例可能会根据任务的负载动态地创建和销毁。
二、持久化实例模式
-
特点:
- 服务实例注册到 Nacos 后,即使一段时间内没有发送心跳,也不会被轻易移除。只有在明确的服务下线操作或者服务出现严重故障无法恢复时,才会从注册列表中删除。
- 适用于需要长期稳定运行、不希望因为短暂的网络波动或心跳异常而被误判为下线的服务。
-
应用场景:
- 核心业务服务,这些服务通常需要保持高可用性和稳定性,不希望因为一些临时的网络问题导致服务在注册中心被误下线。比如,企业的关键业务系统,其服务实例一旦上线,除非进行维护或出现不可恢复的故障,一般都应保持在注册列表中供其他服务调用。