Eureka自我保護

2022-08-30 18:06:11 字數 1008 閱讀 6570

什麼是自我保護模式?

預設情況下,如果eurekaserver在一定時間內沒有接收到某個微服務例項的心跳,eurekaserver將會登出該例項(預設90秒)。但是當網路分割槽故障發生時,微服務與eurekaserver之間無法正常通訊,以上行為可能變得非常危險了——因為微服務本身其實是健康的,此時本不應該登出這個微服務。eureka通過「自我保護模式」來解決這個問題——當eurekaserver節點在短時間內丟失過多客戶端時(可能發生了網路分割槽故障),那麼這個節點就會進入自我保護模式。一旦進入該模式,eurekaserver就會保護服務登錄檔中的資訊,不再刪除服務登錄檔中的資料(也就是不會登出任何微服務)。當網路故障恢復後,該eureka server節點會自動退出自我保護模式。

在自我保護模式中,eureka server會保護服務登錄檔中的資訊,不再登出任何服務例項。當它收到的心跳數重新恢復到閾值以上時,該eureka server節點就會自動退出自我保護模式。它的設計哲學就是寧可保留錯誤的服務註冊資訊,也不盲目登出任何可能健康的服務例項。一句話講解:好死不如賴活著

綜上,自我保護模式是一種應對網路異常的安全保護措施。它的架構哲學是寧可同時保留所有微服務(健康的微服務和不健康的微服務都會保留),也不盲目登出任何健康的微服務。使用自我保護模式,可以讓eureka集群更加的健壯、穩定。在spring cloud中,可以使用eureka.server.enable-self-preservation = false 禁用自我保護模式。

一句話概括: 某時刻某乙個微服務不可用了,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...