天天看點

SpringCloud學習筆記(1)——Eureka

Spring Cloud

SpringCloud學習筆記(1)——Eureka

Spring Cloud為開發者快速建構通用的分布式系統(例如:配置管理、服務發現、斷路器、智能路由、微代理、控制總線、一次性的Token、全局鎖、上司者選舉、分布式會話、叢集狀态)提供工具。

這裡用的是最新版本Edgware

SpringCloud學習筆記(1)——Eureka

 操作步驟

1、建立一個工程作為Eureka Server

SpringCloud學習筆記(1)——Eureka
SpringCloud學習筆記(1)——Eureka

建立完成後的pom.xml檔案是這樣的

SpringCloud學習筆記(1)——Eureka

接下來,運作一個Eureka Server

SpringCloud學習筆記(1)——Eureka
SpringCloud學習筆記(1)——Eureka

是以,最終這個工程看起來是這樣的

SpringCloud學習筆記(1)——Eureka

啟動以後,在浏覽器中輸入http://localhost:8761/就能看的如下界面

SpringCloud學習筆記(1)——Eureka

2、接下來,再建一個工程作為Eureka Client。唯一不同的是artifact id換成spring-cloud-starter-netflix-eureka-client

接下都是翻譯自官方文檔中第三部分Spring Cloud Netflix第11章部分小節

11.2 Registering with Eureka

當用戶端用Eureka注冊的時候,它提供自身的中繼資料,比如主機、端口、url、首頁位址等等。Eureka接收某個服務下所有執行個體的心跳消息。如果心跳檢測失敗(超過配置的逾時時間)了,那麼這個執行個體通常會被從注冊清單中删除。

SpringCloud學習筆記(1)——Eureka

隻要在你的應用的classpath下有spring-cloud-starter-netflix-eureka-client,那麼将會自動注冊到Eureka Server。當然需要配置Eureka Server的位址。例如:

SpringCloud學習筆記(1)——Eureka

預設的應用的名稱、虛拟主機和非安全的端口分别用${spring.application.name}、${spring.application.name}和${server.port}代表

如果不想讓Eureka發現用戶端,你可以設定eureka.client.enabled的值為false

于是

SpringCloud學習筆記(1)——Eureka
SpringCloud學習筆記(1)——Eureka

觀察兩邊的啟動日志

SpringCloud學習筆記(1)——Eureka
SpringCloud學習筆記(1)——Eureka

此時再看http://localhost:8761/

SpringCloud學習筆記(1)——Eureka

11.4 Status Page and Health Indicator

Eureka執行個體的狀态頁面和健康訓示器預設情況下分别用"/info"和"/health"代表。當然這個是可以改的。預設就像下面這樣

SpringCloud學習筆記(1)——Eureka

11.6 Eureka’s Health Checks

預設情況下,Eureka用用戶端心跳檢測來判斷一個用戶端是否活着。除非有特殊情況,否則這個用戶端不會傳播這個應用的健康檢查狀态給每個Spring Boot監控器。這就意味着在注冊成功以後,将總是宣稱這個應用是"UP"狀态。這個行為可以被Eureka健康檢查改變,這種改變的結果就是傳播應用的狀态給Eureka

SpringCloud學習筆記(1)——Eureka

注意:eureka.client.healthcheck.enabled=true隻應該寫在application.yml中。

11.7.3 Changing the Eureka Instance ID

預設的執行個體ID的格式是這樣的:${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance_id:${server.port}}}

當然,可以使用eureka.instance.instanceId覆寫這種預設的設定

繼續閱讀