《SpringCloudNetflix》–服務註冊和服務發現-Eureka的常用配置

調皮仔3683發表於2017-07-22

一、版本的說明
Angel版本對應Spring Boot 1.2.x,可以使用Spring Boot 1.3.x;
Brixton版本對應Spring Boot 1.3.x,可以使用Spring Boot 1.4.x;
Camden版本對應Spring Boot 1.4.x,可以使用Spring Boot 1.5.x;
Dalston版本對應Spring Boot 1.5.x

二、應用進行熱部署

新增依賴:

<dependency>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-devtools</artifactId>
</dependency>

重啟即可!
注意:如果是增加了 jar 包,還是需要關閉重啟。

三、 Eureka 常用配置

a) Eureka 的服務監控

新增依賴:

<dependency>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

注意:服務端已經存在該依賴,可以不用新增。

狀態頁面自定義訪問連結

eureka.instance.status-page-url-path=/info

info 自定義

info.build.name=@project.name@
info.build.description=@project.description@
info.build.groupId=@project.groupId@
info.build.artifact=@project.artifactId@
info.build.version=@project.version@

注意:
1、 服務監控依賴於 spring-boot-starter-actuator 這個 jar
2、 注意 management.context-path 的定義
3、 注意 server.servlet-path 的定義
4、 可以直接定義 eureka.instance.status-page-url=http://www.roncoo.com,這個優先順序高

b) Eureka 客戶端的常用配置

1、 自定義例項 ID

eureka.instance.instanceId=${spring.application.name}:${random.value}

說明:random.value 是隨機值,可以確保唯一性。Spring Cloud 裡面要求例項 ID 是唯一的

2、 顯示 IP 地址

eureka.instance.prefer-ip-address=true

3、 設定拉取服務註冊資訊時間,預設 60s

eureka.client.registry-fetch-interval-seconds=30

說明:如果要迅速獲取服務註冊狀態,可以縮小該值。比如:閘道器介面啟動需要馬上呼叫

4、 指定續約更新頻率,預設是 30s

eureka.instance.lease-renewal-interval-in-seconds=15

說明:可以解決 Eureka 註冊服務慢的問題,注意:在生產中,最好堅持使用預設值,因為在服
務器內部有一些計算,他們對續約做出假設。

5、設定過期剔除時間,預設 90s

eureka.instance.lease-expiration-duration-in-seconds=45

說明:表示 eureka server 至上一次收到 client 的心跳之後,等待下一次心跳的超時時間。

如果該值太大,則很可能將流量轉發過去的時候,該 instance 已經不存活了。

如果該值設定太小了,則 instance 則很可能因為臨時的網路抖動而被摘除掉。

該值至少應該大於 leaseRenewalIntervalInSeconds。

c) Eureka 服務端的配置

1、 指定環境

eureka.environment=dev

2、 指定資料中心

eureka.datacenter=roncoo

說明:如果配置-Deureka.datacenter=cloud,eureka 會知道是在 AWS 雲上

3、關閉自我保護模式

eureka.server.enable-self-preservation=false

說明:關閉了皮膚會出現提示。

4、設定清理無效節點的時間間隔,預設 60000,即是 60s

eureka.server.eviction-interval-timer-in-ms=30000

參考內容:Spring Cloud第一季


相關文章