Client 端
基本参数
参数 |
默认值 |
说明 |
eureka.client.avaliability-zones |
|
告知 Client 有哪些 regin 和 zone,支持配置修改运行时生效 |
eureka.client.filter-only-up-instances |
true |
是否滤出 InstanceStatus 为 UP 的实例 |
eureka.clint.region |
us-east-1 |
指定 region,当 datacenters 为 AWS 时适用 |
eureka.client.register-with-eureka |
true |
是否将实例注册到 Eureka Server |
eureka.client.prefer-same-zone-eureka |
true |
是否优先使用和该应用实例处于相同 Zone 的 Eureka Server |
eureka.client.on-demand-update-status-change |
trye |
是否将本地实例状态的更新,通过 ApplicationInfoManager 实时同步到 Eureka Server(这个同步请求有流量限制) |
eureka.instance.matadata-map |
|
指定实例的元数据信息 |
eureka.instance.prefer-ip-address |
false |
是否优先使用 ip 地址来代替 hostname 作为实例的 hostname 字段值 |
eureka.instance.lease-exporation-duration-in-seconds |
90 |
指定 Eureka Client 间隔多久向 Server 发送心跳 |
定时任务参数
参数 |
默认值(时间单位:秒,非时间单位:个) |
说明 |
eureka.client.cache-refresh-executor-thread-pool-size |
2 |
刷新缓存的 CacheRefreshThread 线程池大小 |
eureka.client.cache-refresh-executor-exponential-back-off-bound |
10 |
调度任务执行时,下次调度的延迟时间 |
eureka.client.heartbeat-executor-thread-pool-size |
2 |
执行心跳 HeartbeatThread 的线程池大小 |
eureka.client.heartbeat-executor-exponential-back-off-bound |
10 |
调度任务执行时,下次调度的延迟时间 |
eureka.client.registry-fetch-interval-seconds |
30 |
CachaRefreshThread 线程调度频率 |
eureka.client.eureka-service-url-poll-interval-seconds |
5*60 |
AsyncResolver.updateTask 刷新 Eureka Server 地址的时间间隔 |
eureka.client.initial-instance-info-replication-interval-seconds |
40 |
InstanceInfoReplicator 将实例信息变更同步到 Eureka Server 的初始延时时间 |
eureka.client.instance-infi-replication-interval-seconds |
30 |
InstanceInfiReplicator 将实例信息变更同步到 Eureka Server 的时间间隔 |
eureka.client.lease-renewal-interval-in-seconds |
30 |
Eureka Client 向 Eureka Server 发送心跳的时间间隔 |
http 参数
Eureka Client 底层使用 HttpClient 与 Eureka Server 通信。
参数 |
默认值 |
说明 |
eureka.client.eureka-server-connect-timeout-seconds |
5 |
连接超时时间 |
eureka.client.eureka-server-read-timeout-seconds |
8 |
读超时时间 |
eureka.client.eureka-server-total-connections |
200 |
连接池最大连接数 |
eureka.client.eureka-server-total-connections-per-host |
50 |
每个 host 能使用的最大链接数 |
eureka.client.eureka-connection-idle-timeout-seconds |
30 |
连接池空闲连接时间 |
Server 端
Server 端的参数调优分为:基本参数,Response Cache、Peer、Http 等
基本参数
参数 |
默认值 |
说明 |
eureka.server.enable-self-preservation |
true |
是否开启自我保护模式 |
eureka.server.renewal-percent-threshold |
0.85 |
每分钟需要收到的续约次数阈值(心跳数/client实例数) |
eureka.instance.registry.expected-number-of-renews-per-min |
1 |
指定每分钟需要收到的续约次数,实际上,在源码中被写死为 count * 2 |
eureka.server-renrewal-threshold-update-interval-ms |
15 分钟 |
指定 updateRenewalThreshold 定时任务的调度频率,动态更新 expectedNumberOfRenewsMin 以及 numberOfNewsPerMinThreshold 的值 |
eureka.server.evication-interval-timer-in-ms |
60*1000 |
指定 EvicationTask 定时任务调度频率,用于剔除过期的实例 |
Response Cache 参数
Eureka Server 为了提升自身 REST API 接口的性能,提供了两个缓存:一个是基于 ContioncurrentMap
的 readOnlyCacheMap
,一个是基于 Guava Chahe
的 readWriteCacheMap
。
参数 |
默认值 |
说明 |
eureka.server.use-read-only-response-cache |
true |
是否使用只读的 Response Cache |
eureka.server.response-cache-update-interval-ms |
30 * 1000 |
设置 CacheUpdateTask 的调度时间间隔,用于从 readWriteCacheMap 更新数据到 readOnlyCacheMap。仅在 eureka.server.use-read-only-response-cache 为 true 时生效 |
eureka.server.response-cache-auto-expiration-in-seconds |
180 |
设置 readWriteCacheMap 的过期时间 |
peer 参数
参数 |
默认值 |
说明 |
eureka.server.peer.eureka-nodes-update-interval-ms |
10分钟 |
指定 peersUpdateTask 调度的时间间隔,用于配置文件刷新 peerEurekaNodes 节点的配置信息 |
eureka.server.peer-eureka-status-refresh-time-interval-ms |
30*1000 |
指定更新 Peer nodes 状态的时间间隔 |
http 参数
参数 |
默认值 |
说明 |
eureka.server.peer-node-connect-timeout-ms |
200 |
链接超时时间 |
eureka.server.peer-node-read-timeout-ms |
200 |
读超时时间 |
eureka.server.peer-node-total-connections |
1000 |
连接池最大连接数 |
eureka.server.peer-node-total-connections-per-host |
500 |
每个 host 能使用的最大连接数 |
eureka.server.peer-node-connection-idle-timeout-seconds |
30 |
连接池中链接的空闲时间 |