SpringCloud——服務治理機制筆記
服務治理機制
服務提供者
服務註冊
服務提供者 在啓動的時候會通過發送REST請求的方式將自己註冊到Eureka Server上,同時帶上了自身服務的一些元數據信息。
eureka.client.register-with-eureka=true:啓動註冊操作
服務同步
服務續約
eureka.instance.lease-renewal-interval-in-seconds=30:用於定義服務續約任務的調用間隔時間,默認30秒
eureka.instance.lease-expiration-duration-in-seconds=90:用於定義服務失效的時間,默認爲90秒
服務消費者
獲取服務
服務調用
服務下線
服務註冊中心
失效剔除
自我保護
eureka.server.enable-self-preservation=false:關閉保護機制(確保註冊中心可以將不可用的實例正確剔除)
源碼分析
DiscoveryClient類
這個類用於幫助與Eureka Server相互協作。
Eureka Client負責下面的任務:
- 向Eureka Server註冊服務實例
- 向Eureka Server服務租約
- 當服務關閉期間,向Eureka Server取消租約
- 查詢Eureka Server中的服務實例列表
Eureka Client還需要配置一個Eureka Server的URL列表
Region、Zone
serviceUrls
服務註冊
服務獲取與服務續約
服務註冊中心處理
配置詳解
Eureka 客戶端的配置主要分爲以下兩個方面:
- 服務註冊相關的配置信息,包括服務註冊中心的地址、服務獲取的間隔時間、可用區域等。
- 服務實例相關的配置信息,包括服務實例的名稱、IP地址、端口號、健康檢查路徑等。
注:通過設置該類中的enableSelfPreservation參數來關閉註冊中心的"自我保護"功能,以防止關閉的實例無法被服務註冊中心剔除的問題
服務註冊類配置
指定註冊中心
eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/
or
eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/,http://peer2:1112/eureka/
安全校驗
http://<username>:<password>@localhost:1111/eureka/
其中<username>、<password>分別爲安全校驗信息的用戶名、密碼
其他配置
服務實例類配置
- 元數據
它是Eureka客戶端在向服務註冊中心發送註冊請求時,用來描述自身服務信息的對象,其中包含了一些標準化的元數據,比如服務名稱、實例名稱、實例IP、實例端口等用於服務治理的重要信息;以及一些用於負載均衡策略或是其他特殊用途的自定義元數據信息eureka.instance.metadataMap.zone=shanghai
-
實例名配置
- 端點配置
- 健康監測
- 其他配置
跨平臺支持
- 通訊協議
略。。。