配置说明
服务端
eureka:
server:
# 自我保护:表示即使服务心跳断开,也不会立即剔除该服务,用于保护网络波动造成的服务心跳断开
# 自我保护开启条件:1.enable-self-preservation = true 2.在续约期最后一分钟内,已经续约的服务数量小于 renewal-percent-threshold 这个比例
enable-self-preservation: true
# 续约阈值,和自我保护相关
renewal-percent-threshold: 0.85
# server剔除过期服务的时间间隔
eviction-interval-timer-in-ms: 1000
# 是否开启readOnly读缓存
use-read-only-response-cache: true
# readOnly 刷新时间间隔
response-cache-update-interval-ms: 1000
client:
# 是否可以被其他服务发现(作为注册中心不用被其他服务发现)
register-with-eureka: false
# 是否拉取注册表信息(作为注册中心不用拉取注册表信息)
fetch-registry: false
# 配置注册中心地址,用于集群之间数据同步
serviceUrl:
defaultZone: http://127.0.0.1:7901/eureka/,http://127.0.0.1:7902/eureka/,http://127.0.0.1:7903/eureka/
客户端
eureka:
client:
# 是否开启 eureka 客户端
enabled: true
# 注册中心地址,优先访问第一个地址,如果第一个访问失败了才会访问后面一个,最多只能访问三个(Eureka代码里写死的)
service-url:
defaultZone: http://localhost:7900/eureka/,http://localhost:7901/eureka/,http://localhost:7902/eureka/
# 拉取注册表时间间隔
registry-fetch-interval-seconds: 30
instance:
# 续约间隔(心跳间隔)
lease-renewal-interval-in-seconds: 30
配置优化
1.减少服务上线、下线时间延迟
# 修改续约时间间隔和拉取注册表时间间隔:
registry-fetch-interval-seconds: 20
lease-renewal-interval-in-seconds: 20
2.自我保护的选择
自我保护是为了应对网络波动,提搞系统稳定性设置的。 所以如果网络波动大,服务数量多则开启。 因为如果服务数量太少,那么每台服务占比太大,很容易达到阈值
3.service-url 乱序配置
因为客户端在通过 service-url 访问注册中心时,总是先访问第一个,除非第一个访问失败才会访问下一个。
因此每台客户端都配置同样顺序的 service-url 的话,那么第一个注册中心会承受很大压力