springcloud學習筆記——eureka

Eureka簡介

1、Eureka實現了微服務的服務治理功能,Spring Cloud Eureka提供了 Eureka Server服務端和Eureka Client客戶端,服務端即是Eureka服務註冊中心(相當於dubbo架構中zookeeper的功能)。標識了Eureka Client客戶端的服務,可以向Eureka Server服務端註冊服務和發現服務。
2、Eureka Client客戶端具備一個內置的使用輪詢負載算法的負載均衡器,在微服務啓動之後,將會向Eureka Server發送心跳(默認週期爲30秒),如果Eureka Server在多個心跳週期內沒有收到某個節點的心跳,則會將服務從服務列表中移除(默認是90秒,即3個週期)。
3、Eureka中Eureka Server與Eureka Client的關係如下:
在這裏插入圖片描述
1)、eureka server是服務端,負責管理各個微服務的註冊和發現
2)、微服務的生產方eureka client可以將服務註冊到eureka server中
3)、微服務的消費方eureka client需要從eureka server中獲取需要調用服務的地址,進行遠程調用

Eureka的自我保護機制

1、當Eureka Server 在一定時間內(默認90秒)沒有接收到某個微服務的心跳,Eureka Server會從服務列表將此服務實例註銷。但是如果出現網絡異常情況(微服務本身是正常的),微服務與Eureka Server之間無法正常通信,以上行爲可能變得非常危險了——因爲微服務本身其實是正常的,此時本不應該註銷這個微服務。
2、Eureka Server有一種 “自我保護模式” 來解決這個問題——當Eureka Server在短時間內丟失過多客戶端時(可能發生了網絡故障),此時Eureka Server會進入自保護模式,一旦進入該模式,Eureka Server就會保護服務註冊表中的信息,不再刪除服務註冊表中的數據(也就是不會註銷任何微服務)。當網絡故障恢後,該Eureka Server會自動退出自我保護模式。
3、開發階段,建議關閉自我保護機制:
eureka.server.enable-self-preservation=false # 禁用自我保護模式

發佈了58 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章