调优参数:
Eureka Server
Eureka Server 的配置参数格式:eureka.server.xxx。
1、enable-self-preservation:表示注册中心是否开启服务的自我保护能力(建议生产设置成false)
2、renewal-percent-threshold:表示 Eureka Server 开启自我保护的系数,默认:0.85。
3、eviction-interval-timer-in-ms:表示 Eureka Server 清理无效节点的频率,默认 60000 毫秒(60 秒)。
4、use-read-only-response-cache:是否开启readOnly缓存
5、response-cache-update-interval-ms:表示readWrite缓存同步到readOnly缓存的时间
更多 Eureka Server 参数配置可以看一下这个类:
org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean
Eureka Instance
Eureka Instance 的配置参数格式:eureka.instance.xxx。
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 的地址。
registry-fetch-interval-seconds:表示Client端拉取Server注册信息的时间
更多 Eureka Client 参数配置可以看一下这个类:
org.springframework.cloud.netflix.eureka.EurekaClientConfigBean