SpringCloud Eureka自我保護機制原理解析
這篇文章主要介紹了SpringCloud Eureka自我保護機制原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
1. 自我保護機制演示
eureka在頻繁修改微服務(wù)名稱的時候,可以會出現(xiàn)如下現(xiàn)象:
2. 什么是自我保護模式?
默認情況下,如果EurekaServer在一定時間內(nèi)沒有接收到某個微服務(wù)實例的心跳,EurekaServer將會注銷該實例(默認90秒)。但是當(dāng)網(wǎng)絡(luò)分區(qū)故障發(fā)生時,微服務(wù)與EurekaServer之間無法正常通信,以上行為可能變得非常危險了——因為微服務(wù)本身其實是健康的,此時本不應(yīng)該注銷這個微服務(wù)。Eureka通過“自我保護模式”來解決這個問題——當(dāng)EurekaServer節(jié)點在短時間內(nèi)丟失過多客戶端時(可能發(fā)生了網(wǎng)絡(luò)分區(qū)故障),那么這個節(jié)點就會進入自我保護模式。一旦進入該模式,EurekaServer就會保護服務(wù)注冊表中的信息,不再刪除服務(wù)注冊表中的數(shù)據(jù)(也就是不會注銷任何微服務(wù))。當(dāng)網(wǎng)絡(luò)故障恢復(fù)后,該Eureka Server節(jié)點會自動退出自我保護模式。
在自我保護模式中,Eureka Server會保護服務(wù)注冊表中的信息,不再注銷任何服務(wù)實例。當(dāng)它收到的心跳數(shù)重新恢復(fù)到閾值以上時,該Eureka Server節(jié)點就會自動退出自我保護模式。它的設(shè)計哲學(xué)就是寧可保留錯誤的服務(wù)注冊信息,也不盲目注銷任何可能健康的服務(wù)實例。一句話講解:好死不如賴活著
綜上,自我保護模式是一種應(yīng)對網(wǎng)絡(luò)異常的安全保護措施。它的架構(gòu)哲學(xué)是寧可同時保留所有微服務(wù)(健康的微服務(wù)和不健康的微服務(wù)都會保留),也不盲目注銷任何健康的微服務(wù)。使用自我保護模式,可以讓Eureka集群更加的健壯、穩(wěn)定。
一句話:某時刻某一個微服務(wù)不可用了,eureka不會立刻清理,依舊會對該微服務(wù)的信息進行保存。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 細說Springcloud eureka的幾種主動下線服務(wù)的方式
- 詳解SpringCloud eureka服務(wù)狀態(tài)監(jiān)聽
- springcloud實現(xiàn)注冊中心Eureka
- SpringCloud Eureka實現(xiàn)服務(wù)注冊與發(fā)現(xiàn)
- springcloud干貨之服務(wù)注冊與發(fā)現(xiàn)(Eureka)
- SpringCloud Eureka搭建的方法步驟
- 深入理解SpringCloud之Eureka注冊過程分析
- springCloud服務(wù)注冊Eureka實現(xiàn)過程圖解
- SpringCloud Eureka的使用教程
相關(guān)文章
gateway網(wǎng)關(guān)與前端請求跨域問題的解決方案
這篇文章主要介紹了gateway網(wǎng)關(guān)與前端請求跨域問題的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07Java調(diào)用python代碼的五種方式總結(jié)
這篇文章主要給大家介紹了關(guān)于Java調(diào)用python代碼的五種方式,在Java中調(diào)用Python函數(shù)的方法有很多種,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2023-09-09WebSocket實現(xiàn)聊天室業(yè)務(wù)
這篇文章主要為大家詳細介紹了WebSocket實現(xiàn)聊天室業(yè)務(wù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-08-08MyBatis動態(tài)SQL如何實現(xiàn)前端指定返回字段
這篇文章主要介紹了MyBatis動態(tài)SQL如何實現(xiàn)前端指定返回字段,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01java中 String和StringBuffer的區(qū)別實例詳解
這篇文章主要介紹了java中 String和StringBuffer的區(qū)別實例詳解的相關(guān)資料,一個小的例子,來測試String和StringBuffer在時間和空間使用上的差別,需要的朋友可以參考下2017-04-04