Nacos的服務實例分為兩種l類型:
-
臨時實例:如果實例宕機超過一定時間,會從服務列表剔除,默認的類型。
-
非臨時實例:如果實例宕機,不會從服務列表剔除,也可以叫永久實例。
配置一個服務實例為永久實例:
spring: cloud: nacos: discovery: ephemeral: false # 設置為非臨時實例
Nacos和Eureka整體結構類似,服務注冊、服務拉取、心跳等待,但是也存在一些差異:
-
Nacos與eureka的共同點
- 都支持服務注冊和服務拉取
- 都支持服務提供者心跳方式做健康檢測
-
Nacos與Eureka的區別
- Nacos支持服務端主動檢測提供者狀態:臨時實例采用心跳模式,非臨時實例采用主動檢測模式
- 臨時實例心跳不正常會被剔除,非臨時實例則不會被剔除
- Nacos支持服務列表變更的消息推送模式,服務列表更新更及時
- Nacos集群默認采用AP方式,當集群中存在非臨時實例時,采用CP模式;Eureka采用AP方式