?著作權(quán)歸作者所有:來自51CTO博客作者澄風(fēng)破浪的原創(chuàng)作品,請聯(lián)系作者獲取轉(zhuǎn)載授權(quán),否則將追究法律責(zé)任
Eureka心跳健康檢查機(jī)制
運(yùn)行心跳健康檢查機(jī)制的目的是為了刪除Eureka服務(wù)器注冊表中不可訪問的微服務(wù)。心跳是由Eureka客戶端發(fā)送給Eureka服務(wù)器的,讓服務(wù)器了解其狀態(tài)心跳機(jī)制需要在微服務(wù)嵌入一個(gè)客戶端,用來發(fā)送心跳,但是客戶端本身必須確定其自身為健康狀態(tài)Eureka服務(wù)器必須為客戶端公開一些REST操作以讓其發(fā)布心跳。自我保護(hù)機(jī)制
EurekaServer不會將EurekaClient服務(wù)及時(shí)剔除
保護(hù)模式主要用與一組EurekaClient客戶端和EurekaServer之間存在網(wǎng)絡(luò)分區(qū)場景下的保護(hù)。一旦進(jìn)入保護(hù)模式,EurekaServer將會保護(hù)其注冊表中的服務(wù),不再刪除服務(wù)注冊表中的數(shù)據(jù),也就是不會注銷任何微服務(wù)什么是自我保護(hù)模式
默認(rèn)情況下如果EurekaServer在一段時(shí)間內(nèi)(默認(rèn)90s)沒有接受到某個(gè)微服務(wù)的心跳,那么就會判斷這個(gè)微服務(wù)已經(jīng)死亡,然后在服務(wù)注冊表中注銷該微服務(wù)。但是當(dāng)網(wǎng)絡(luò)分區(qū)發(fā)生故障(延時(shí)、卡頓、擁擠)時(shí),微服務(wù)與EurekaServer無法正常通信,但微服務(wù)本身是健康的,那么就不應(yīng)該注銷這個(gè)微服務(wù)。此時(shí)Eureka將會開啟自我保護(hù)模式來解決這個(gè)問題----當(dāng)EurekaServer節(jié)點(diǎn)在短時(shí)間內(nèi)丟失過多客戶端時(shí),就會開啟自我保護(hù)模式,不再注銷任何微服務(wù)EurekaServer服務(wù)端配置自我保護(hù)和剔除無心跳微服務(wù)等待時(shí)間:
EurekaClient客戶端配置心跳發(fā)送間隔和剔除微服務(wù)心跳等待時(shí)間:
贊 收藏 評論 舉報(bào)相關(guān)文章