服務注冊與發現——Eureka
- Eureka Server:服務的注冊中心,負責維護注冊的服務列表。
- Service Provider:服務提供方,作為一個Eureka Client,向Eureka Server做服務注冊、續約和下線等操作,注冊的主要數據包括服務名、機器ip、端口號、域名等等。
- Service Consumer:服務消費方,作為一個Eureka Client,向Eureka Server獲取Service Provider的注冊信息,並通過遠程調用與Service Provider進行通信。
Eureka Server
Eureka Server作為一個獨立的部署單元,以REST API的形式為服務實例提供了注冊、管理和查詢等操作.
自我保護模式?
Eureka 默認開啟了自我保護模式(可以通過 eureka.server.enable-self-preservation
配置) 。
該模式被激活的條件是:在 1 分鍾后 , Renews (last min)
< Renews threshold
。 你可以在 Eureka Server 首頁的右上側可以看到:
eureka 自我保護詳解
屬性配置相關類
服務注冊相關配置:eureka.instance 為前綴
org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean
服務實例相關配置:eureka.client 為前綴
org.springframework.cloud.netflix.eureka.EurekaClientConfigBean
服務配置屬性以eureka.server開頭
org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean
Eureka的Github:
https://github.com/Netflix/Eureka
Eureka Server 常用屬性
#將IP注冊到Eureka Server上,如果不配置就是機器的主機名
eureka.instance.prefer-ip-address=true
#設為false,關閉自我保護
eureka.server.enable-self-preservation=false
#表示是否將自己注冊到Eureka Server,默認為true
eureka.client.register-with-eureka=false
#表示是否從Eureka Server獲取注冊信息,默認為true
eureka.client.fetch-registry=false
# 掃描失效服務的間隔時間(單位毫秒,默認是60*1000)即60秒
eureka.server.eviction-interval-timer-in-ms=5000
#設置 eureka server同步失敗的等待時間 默認 5分
#在這期間,它不向客戶端提供服務注冊信息
eureka.server.wait-time-in-ms-when-sync-empty=5
#設置 eureka server同步失敗的重試次數 默認為 5 次
eureka.server.number-of-replication-retries=5
#自我保護系數(默認0.85)
eureka.server.renewal-percent-threshold=0.49