Spring Cloud Eureka 常用配置详解,建议收藏!
https://cloud.tencent.com/developer/article/1424313
在这篇文章中:
- Eureka Server
- Eureka Instance
- Eureka Client
- 用到的其他参数
前几天,栈长分享了 《Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!》,今天来分享下 Spring Cloud Eureka 常用的一些参数配置及说明。
Spring Boot 的配置参考Java技术栈微信公众号往期 Spring Boot 系列文章,在公众号后台回复:boot。这篇只针对 Spring Cloud Eureka 常用到的配置进行解释。
Spring Cloud Eureka 主要分为下面三个模块的参数:
- Eureka Server
- Eureka Client
- Eureka Instance
Eureka Server
Eureka Server 的配置参数格式:eureka.server.xxx。
enable-self-preservation
表示注册中心是否开启服务的自我保护能力。
什么是自我保护?看这篇文章:SpringCloud Eureka自我保护机制,或者关注Java技术栈微信公众号,在后台回复:cloud。
renewal-percent-threshold
表示 Eureka Server 开启自我保护的系数,默认:0.85。
eviction-interval-timer-in-ms
表示 Eureka Server 清理无效节点的频率,默认 60000 毫秒(60 秒)。
更多 Eureka Server 参数配置可以看一下这个类:
org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean
Eureka Instance
Eureka Instance 的配置参数格式:eureka.instance.xxx。
instance-id
表示实例在注册中心注册的唯一ID。
prefer-ip-address
- true:实例以 IP 的形式注册
- false:实例以机器 HOSTNAME 形式注册
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 控制台上面的其他参数都可以定制。