SpringCloud學習筆記(1)——Eureka

不要亂摸發表於2017-12-05

Spring Cloud

Spring Cloud為開發者快速構建通用的分散式系統(例如:配置管理、服務發現、斷路器、智慧路由、微代理、控制匯流排、一次性的Token、全域性鎖、領導者選舉、分散式會話、叢集狀態)提供工具。

這裡用的是最新版本Edgware

 操作步驟

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

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

接下來,執行一個Eureka Server

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

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

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

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

11.2 Registering with Eureka

當客戶端用Eureka註冊的時候,它提供自身的後設資料,比如主機、埠、url、主頁地址等等。Eureka接收某個服務下所有例項的心跳訊息。如果心跳檢測失敗(超過配置的超時時間)了,那麼這個例項通常會被從註冊列表中刪除。

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

預設的應用的名稱、虛擬主機和非安全的埠分別用${spring.application.name}、${spring.application.name}和${server.port}代表

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

 

於是

觀察兩邊的啟動日誌

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

11.4 Status Page and Health Indicator

Eureka例項的狀態頁面和健康指示器預設情況下分別用"/info"和"/health"代表。當然這個是可以改的。預設就像下面這樣

11.6 Eureka’s Health Checks

預設情況下,Eureka用客戶端心跳檢測來判斷一個客戶端是否活著。除非有特殊情況,否則這個客戶端不會傳播這個應用的健康檢查狀態給每個Spring Boot監控器。這就意味著在註冊成功以後,將總是宣稱這個應用是"UP"狀態。這個行為可以被Eureka健康檢查改變,這種改變的結果就是傳播應用的狀態給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覆蓋這種預設的設定

 

相關文章