Spring Cloud Eureka 主要分為下面三個(gè)模塊的參數(shù):
- Eureka Server
- Eureka Client
- Eureka Instance
1, Eureka Server
Eureka Server 的配置參數(shù)格式:eureka.server.xxx。
enable-self-preservation
表示注冊(cè)中心是否開(kāi)啟服務(wù)的自我保護(hù)能力。
什么是自我保護(hù)?看這篇文章:SpringCloud Eureka自我保護(hù)機(jī)制
renewal-percent-threshold
表示 Eureka Server 開(kāi)啟自我保護(hù)的閾值。
默認(rèn):0.85
eviction-interval-timer-in-ms
表示 Eureka Server 清理無(wú)效節(jié)點(diǎn)的頻率,默認(rèn) 60000 毫秒(60 秒)。
更多 Eureka Server 參數(shù)配置可以看一下這個(gè)類:
org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean
2, Eureka Instance
Eureka Instance 的配置參數(shù)格式:eureka.instance.xxx。
instance-id
表示實(shí)例在注冊(cè)中心注冊(cè)的唯一ID。
prefer-ip-address
-
true:實(shí)例以 IP 的形式注冊(cè) -
false:實(shí)例以機(jī)器 HOSTNAME 形式注冊(cè)
lease-expiration-duration-in-seconds
表示 Eureka Server 在接收到上一個(gè)心跳之后等待下一個(gè)心跳的秒數(shù)(默認(rèn) 90 秒),若不能在指定時(shí)間內(nèi)收到心跳,則移除此實(shí)例,并禁止此實(shí)例的流量。
- 此值設(shè)置太長(zhǎng),即使實(shí)例不存在,流量也能路由到該實(shí)例
- 此值設(shè)置太小,由于網(wǎng)絡(luò)故障,實(shí)例會(huì)被取消流量
需要設(shè)置為至少高于 lease-renewal-interval-in-seconds 的值,不然會(huì)被誤移除了。
lease-renewal-interval-in-seconds
表示 Eureka Client 向 Eureka Server 發(fā)送心跳的頻率(默認(rèn) 30 秒),如果在 lease-expiration-duration-in-seconds 指定的時(shí)間內(nèi)未收到心跳,則移除該實(shí)例。
更多 Eureka Instance 參數(shù)配置可以看一下這個(gè)類:
org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean
3, Eureka Client
Eureka Client 的配置參數(shù)格式:eureka.client.xxx。
register-with-eureka
表示此實(shí)例是否注冊(cè)到 Eureka Server 以供其他實(shí)例發(fā)現(xiàn)。在某些情況下,如果你不想自己的實(shí)例被發(fā)現(xiàn),而只想發(fā)現(xiàn)其他實(shí)例,配置為 false 即可。
fetch-registry
表示客戶端是否從 Eureka Server 獲取實(shí)例注冊(cè)信息。
serviceUrl.defaultZone
表示客戶端需要注冊(cè)的 Eureka Server 的地址。
更多 Eureka Client 參數(shù)配置可以看一下這個(gè)類:
org.springframework.cloud.netflix.eureka.EurekaClientConfigBean
4, 用到的其他參數(shù)
spring.application.name
表示應(yīng)用名稱,在注冊(cè)中心中顯示的服務(wù)注冊(cè)名稱。
spring.cloud.client.ip-address
獲取客戶端的 IP 地址。
上面講的 Eureka 某些參數(shù)可以在 Eureka 控制臺(tái)上面找到。
Eureka 控制臺(tái)上面的其他參數(shù)都可以定制。