关于Nacos的心跳机制
生活随笔
收集整理的這篇文章主要介紹了
关于Nacos的心跳机制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
心跳:代表周期性的操作,來表示自己是健康可用的機制
注冊到Nacos的微服務項目(模塊)都是會遵循這個心跳機制的
心跳機制的目的
1. 是表示當前微服務模塊運行狀態正常的手段
2. 是表示當前微服務模塊和Nacos保持溝通和交換信息的機制
默認情況下,服務啟動開始每隔5秒會想Nacos發送一個"心跳包",這個心跳包
中包含了當前服務的基本信息
Nacos接收到這個心跳包,首先檢查當前服務在不在注冊列表中,如果不在
按新服務的業務進行注冊,如果在,表示當前這個服務是健康狀態
如果一個服務連續3次心跳(默認15秒)沒有和Nacos進行信息的交互,就會將
當前服務標記為不健康的狀態
如果一個服務連續6此心跳(默認30秒)沒有和Nacos進行信息的交互,Nacos會將這個服務從注冊列表中剔除
這些時間可以通過配置修改.
實例類型分類
實際上Nacos的服務類型還有分類
- 臨時實例(默認)
- 持久化實例(永久實例)
默認每個服務都是臨時實例
如果想標記一個服務為永久實例,可以通過在application配置來實現
spring:cloud:nacos:# ephemeral設置當前項目啟動時注冊到nacos的類型true(默認):臨時實例 false:永久實例discovery:ephemeral: false持久化實例啟動時會向Nacos注冊,Nacos會對這個實例進行持久化處理
心跳包的規則和臨時實例一致,只是不會將該服務從列表中剔除
一般情況下,我們創建的服務都是臨時實例
只有項目的主干業務才會設置為永久實例
總結
以上是生活随笔為你收集整理的关于Nacos的心跳机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: E20190303-hm
- 下一篇: js判断字符串空格