Java SpringCloud Eureka
Spring Cloud Eureka 主要分为下面三个模块的参数:
- Eureka Server
- Eureka Client
-
Eureka Server
Eureka Server 的配置参数格式:eureka.server.xxx。
enable-self-preservation
renewal-percent-threshold
表示 Eureka Server 开启自我保护的系数,默认:0.85。
eviction-interval-timer-in-ms
表示 Eureka Server 清理无效节点的频率,默认 60000 毫秒(60 秒)。
更多 Eureka Server 参数配置可以看一下这个类:
org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBeanEureka Instance
Eureka Instance 的配置参数格式:eureka.instance.xxx。
instance-id
prefer-ip-address
true:实例以 IP 的形式注册
-
lease-expiration-duration-in-seconds
表示 Eureka Server 在接收到上一个心跳之后等待下一个心跳的秒数(默认 90 秒),若不能在指定时间内收到心跳,则移除此实例,并禁止此实例的流量。
此值设置太长,即使实例不存在,流量也能路由到该实例
- 此值设置太小,由于网络故障,实例会被取消流量
需要设置为至少高于 lease-renewal-interval-in-seconds 的值,不然会被误移除了。
lease-renewal-interval-in-seconds
表示 Eureka Client 向 Eureka Server 发送心跳的频率(默认 30 秒),如果在 lease-expiration-duration-in-seconds 指定的时间内未收到心跳,则移除该实例。
更多 Eureka Instance 参数配置可以看一下这个类:
org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean
Eureka Client
Eureka Client 的配置参数格式:eureka.client.xxx。
register-with-eureka
表示此实例是否注册到 Eureka Server 以供其他实例发现。在某些情况下,如果你不想自己的实例被发现,而只想发现其他实例,配置为 false 即可。
fetch-registry
表示客户端是否从 Eureka Server 获取实例注册信息。
serviceUrl.defaultZone
表示客户端需要注册的 Eureka Server 的地址。
更多 Eureka Client 参数配置可以看一下这个类:
org.springframework.cloud.netflix.eureka.EurekaClientConfigBean
用到的其他参数
spring.application.name
spring.cloud.client.ip-address
获取客户端的 IP 地址。
上面讲的 Eureka 某些参数可以在 Eureka 控制台上面找到。
Eureka 控制台上面的其他参数都可以定制。