eureka的自我保護機制
先來看看沒有配置前的樣子
這裡沒有顯示ip,對於我們來說很是不方便,因為我們不知道是哪台機器,接下來就是顯示ip和埠的設定了
eureka
:instance
:instance-id
: $:$
#向註冊中心中註冊ip
在服務註冊到eureka後,預設情況下,每隔30秒會傳送乙個心跳到eureka,證明服務還活著,假如90秒還沒收到心跳,eureka會認為其已經宕機,然後eureka中會有乙個定時任務,每隔一段時間去清理一下已經被認為宕機的服務。
這樣的設定是很合理的,但是在開發當中,我們需要測試,就希望時間越短越好,那麼我們就需要設定一下這些時間
在服務提供者的yml中加上引數:
eureka
:instance
:lease-renewal-interval-in-seconds:5
#心跳間隔
lease-expiration-duration-in-seconds
:10
#續約到期時間
設定好後可以自行測試,這裡就不作展示了
在eureka註冊中心的yml中:
eureka
:server
:eviction-interval-timer-in-ms
:4000
#剔除服務的定時任務間隔,單位毫秒
其實eureka不會單純得因為90秒沒有收到心跳就立馬剔除這個服務,eureka其實會有乙個統計,統計所有服務中,有多少沒有收到,假如一共100個服務,有85%,即85個都沒有收到心跳,eureka就會開啟自我保護模式。
開啟自我保護模式後,就不會去剔除服務了(在後台管理頁面會出現一行紅色的字型)
在開發得過程中,我們一般是不需要這種保護機制的,所以我們就可以關掉:
eureka
:server
:enable-self-preservation
:false
#關閉自我保護機制
自行測 Eureka集群配置
enable self preservation false 測試時關閉自我保護機制,保證不可用服務及時踢出 eviction interval timer in ms 5000 啟用主動失效,並且每次主動失效檢測間隔為5s response cache update inverval ms 300...
eureka常用配置
配置名預設值 描述說明 eureka.instance.status page url path info 狀態頁面自定義訪問鏈結 客戶端常用配置 eureka.instance.instance id 自定義例項id,在eureka中註冊的唯一id eureka.instance.prefer i...
Eureka集群配置
如果是單節點的註冊中心,是無法保證系統穩定性的,當然現在專案部署架構不可能是單節點的。集群節點的部署思路 通過執行多個例項並請求他們相互註冊,來完成註冊中心的高可用性 結伴註冊 1 新增依賴 org.springframework.cloud spring cloud starter eureka ...