溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么理解Spring Cloud Eureka的自我保護(hù)機(jī)制

發(fā)布時間:2021-11-16 16:38:07 來源:億速云 閱讀:140 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“怎么理解Spring Cloud Eureka的自我保護(hù)機(jī)制”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“怎么理解Spring Cloud Eureka的自我保護(hù)機(jī)制”吧!

自我保護(hù)機(jī)制

關(guān)閉自我保護(hù)機(jī)制(默認(rèn)是打開的):eureka.server.enable-self-preservation=false

自我保護(hù)機(jī)制:默認(rèn)情況下,如果Eureka Server在一定時間內(nèi)沒有接收到某個微服務(wù)實例的心跳,Eureka Server將會注銷該實例(默認(rèn)90秒)。但是當(dāng)網(wǎng)絡(luò)分區(qū)故障發(fā)生時,微服務(wù)與Eureka Server之間無法正常通信,以上行為可能變得非常危險了——因為微服務(wù)本身其實是健康的,此時本不應(yīng)該注銷這個微服務(wù)。

Eureka通過“自我保護(hù)模式”來解決這個問題——當(dāng)Eureka Server節(jié)點在短時間內(nèi)丟失過多客戶端時(可能發(fā)生了網(wǎng)絡(luò)分區(qū)故障),那么這個節(jié)點就會進(jìn)入自我保護(hù)模式。一旦進(jìn)入該模式,Eureka Server就會保護(hù)服務(wù)注冊表中的信息,不再刪除服務(wù)注冊表中的數(shù)據(jù)(也就是不會注銷任何微服務(wù))。當(dāng)網(wǎng)絡(luò)故障恢復(fù)后,該Eureka Server節(jié)點會自動退出自我保護(hù)模式。

綜上,自我保護(hù)模式是一種應(yīng)對網(wǎng)絡(luò)異常的安全保護(hù)措施。它的架構(gòu)哲學(xué)是寧可同時保留所有微服務(wù)(健康的微服務(wù)和不健康的微服務(wù)都會保留),也不盲目注銷任何健康的微服務(wù)。使用自我保護(hù)模式,可以讓Eureka集群更加的健壯、穩(wěn)定。

但是,在我們實際生產(chǎn)中,我們云環(huán)境同一個Region下不會發(fā)生大規(guī)模網(wǎng)絡(luò)分區(qū)狀況,所以沒有啟用自我保護(hù)。

相關(guān)參數(shù):eureka.server.renewalPercentThreshold = 0.85

整體邏輯

怎么理解Spring Cloud Eureka的自我保護(hù)機(jī)制

在每一個服務(wù)實例注冊時:

expectedNumberOfRenewsPerMin += 2
numberOfRenewsPerMinThreshold = RenewalPercentThreshold*numberOfRenewsPerMinThreshold

無論你設(shè)置心跳時間是多少,expectedNumberOfRenewsPerMin都是+2(默認(rèn)心跳時間是30s,每分鐘有60s,所以+2,但是沒有根據(jù)真正的心跳時間修改,應(yīng)該算是個缺陷

在收到心跳時:

renewsLastMin.increment()

當(dāng)renewsLastMin<numberOfRenewsPerMinThreshold,就會觸發(fā)自我保護(hù),不會失效過期服務(wù)

到此,相信大家對“怎么理解Spring Cloud Eureka的自我保護(hù)機(jī)制”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI