概述:保護模式主要用於一組客戶端和eureka server之間存在網路分割槽場景下的保護,一旦進入保護模式,eureka server將會嘗試保護其服務登錄檔中的資訊,不再刪除服務登錄檔中的資料,也就是不會登出任何微服務。
一句話:某時刻某乙個微服務不可用了,eureka不會立刻清理,依舊會對該微服務的資訊進行儲存。
如果在eureka server的首頁看到以下這段提示,則說明eureka進入了保護模式。屬於cap裡面的ap分支。
為什麼會產生eureka自我保護機制?
為了防止eurekaclient可以正常執行,但是 與 eurekaserver網路不通情況下,eurekaserver不會立刻將eurekaclient服務剔除。
什麼是自我保護模式?
預設情況下,如果eurekaserver在一定時間內沒有接受到某個微服務例項的心跳,eurekaserver將會登出該例項(預設90秒)。但是當網路分割槽故障發生(延遲、卡頓、擁擠)時,微服務與eurekaserver之間無法正常通訊,以上行為可能變得非常危險了——因為微服務本身其實是健康的,此時不應該登出這個微服務。eureka通過「自我保護模式」來解決這個問題——當eurekaserver節點在短時間內丟失過多客戶端時(可能發生了網路分割槽故障),那麼這個節點就會進入自我保護模式。
在自我保護模式中,eureka server會保護服務登錄檔中的資訊,不再登出任何服務例項。
它的設計哲學就是寧可保留錯誤的服務註冊資訊,也不盲目登出任何可能健康的服務例項,
綜上:自我保護模式是一種應對網路異常的安全保護措施。它的架構哲學是寧可同時保留所有微服務(健康的微服務和不健康的微服務都會保留)也不盲目登出任何健康的微服務。使用自我保護模式,可以讓eureka集群更加的健壯、穩定。
怎麼禁止自我保護?
eureka自我保護時間 Eureka自我保護機制
自我保護背景 首先對eureka註冊中心需要了解的是eureka各個節點都是平等的,沒有zk中角色的概念,即使n 1個節點掛掉也不會影響其他節點的正常執行。預設情況下,如果eureka server在一定時間內 預設90秒 沒有接收到某個微服務例項的心跳,eureka server將會移除該例項。但...
eureka自我保護時間 Eureka自我保護機制
為什麼會產生eureka的自我保護機制?為了防止eurekaclient 服務提供者 可以正常執行,但是與eurekaserver網路擁擠的情況下,eurekaserver不會將eurekaclient服務剔除 什麼是eureka的自我保護進製 預設情況下,如果eureka在一定時間內沒有收到某個微...
Eureka自我保護
為什麼會產生 eureka自我保護機制?為了防止以下情況 eurekaclienti可以正常執行,但是與 eurekaserver網路不通情況下,eurekaserver立刻將 eurekaclient服務剔除。如果進入了自我保護模式就不會立刻刪除服務。什麼是自我保護模式?這裡只修改7001和800...