SpringCloud Eureka自我保護(hù)機(jī)制原理解析
這篇文章主要介紹了SpringCloud Eureka自我保護(hù)機(jī)制原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
1. 自我保護(hù)機(jī)制演示
eureka在頻繁修改微服務(wù)名稱的時(shí)候,可以會出現(xiàn)如下現(xiàn)象:

2. 什么是自我保護(hù)模式?
默認(rèn)情況下,如果EurekaServer在一定時(shí)間內(nèi)沒有接收到某個微服務(wù)實(shí)例的心跳,EurekaServer將會注銷該實(shí)例(默認(rèn)90秒)。但是當(dāng)網(wǎng)絡(luò)分區(qū)故障發(fā)生時(shí),微服務(wù)與EurekaServer之間無法正常通信,以上行為可能變得非常危險(xiǎn)了——因?yàn)槲⒎?wù)本身其實(shí)是健康的,此時(shí)本不應(yīng)該注銷這個微服務(wù)。Eureka通過“自我保護(hù)模式”來解決這個問題——當(dāng)EurekaServer節(jié)點(diǎn)在短時(shí)間內(nèi)丟失過多客戶端時(shí)(可能發(fā)生了網(wǎng)絡(luò)分區(qū)故障),那么這個節(jié)點(diǎn)就會進(jìn)入自我保護(hù)模式。一旦進(jìn)入該模式,EurekaServer就會保護(hù)服務(wù)注冊表中的信息,不再刪除服務(wù)注冊表中的數(shù)據(jù)(也就是不會注銷任何微服務(wù))。當(dāng)網(wǎng)絡(luò)故障恢復(fù)后,該Eureka Server節(jié)點(diǎn)會自動退出自我保護(hù)模式。
在自我保護(hù)模式中,Eureka Server會保護(hù)服務(wù)注冊表中的信息,不再注銷任何服務(wù)實(shí)例。當(dāng)它收到的心跳數(shù)重新恢復(fù)到閾值以上時(shí),該Eureka Server節(jié)點(diǎn)就會自動退出自我保護(hù)模式。它的設(shè)計(jì)哲學(xué)就是寧可保留錯誤的服務(wù)注冊信息,也不盲目注銷任何可能健康的服務(wù)實(shí)例。一句話講解:好死不如賴活著
綜上,自我保護(hù)模式是一種應(yīng)對網(wǎng)絡(luò)異常的安全保護(hù)措施。它的架構(gòu)哲學(xué)是寧可同時(shí)保留所有微服務(wù)(健康的微服務(wù)和不健康的微服務(wù)都會保留),也不盲目注銷任何健康的微服務(wù)。使用自我保護(hù)模式,可以讓Eureka集群更加的健壯、穩(wěn)定。
一句話:某時(shí)刻某一個微服務(wù)不可用了,eureka不會立刻清理,依舊會對該微服務(wù)的信息進(jìn)行保存。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 細(xì)說Springcloud eureka的幾種主動下線服務(wù)的方式
- 詳解SpringCloud eureka服務(wù)狀態(tài)監(jiān)聽
- springcloud實(shí)現(xiàn)注冊中心Eureka
- SpringCloud Eureka實(shí)現(xiàn)服務(wù)注冊與發(fā)現(xiàn)
- springcloud干貨之服務(wù)注冊與發(fā)現(xiàn)(Eureka)
- SpringCloud Eureka搭建的方法步驟
- 深入理解SpringCloud之Eureka注冊過程分析
- springCloud服務(wù)注冊Eureka實(shí)現(xiàn)過程圖解
- SpringCloud Eureka的使用教程
相關(guān)文章
SpringBoot+Redis大量重復(fù)提交問題的解決方案
Spring Boot Redis重復(fù)提交是指在使用Spring Boot框架和Redis緩存時(shí),為了防止用戶重復(fù)提交表單或者請求,采取的一種解決方案,本文通過代碼示例給大家介紹了SpringBoot+Redis大量重復(fù)提交問題的解決方案,需要的朋友可以參考下2024-03-03
springboot項(xiàng)目實(shí)現(xiàn)多數(shù)據(jù)源配置使用dynamic-datasource-spring-boot-starter
這篇文章主要介紹了springboot項(xiàng)目實(shí)現(xiàn)多數(shù)據(jù)源配置使用dynamic-datasource-spring-boot-starter,本文分步驟結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06
深入解析反編譯字節(jié)碼文件中的代碼邏輯JVM中的String操作
這篇文章主要介紹了深入解析反編譯字節(jié)碼文件中的代碼邏輯JVM中的String操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10

