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 | 连接池中链接的空闲时间 |