Eureka Server / Client 是构建基于 Spring Cloud 的微服务系统时常用的注册与发现服务实现。为了更好的使用该实现,需要知道一些常用的培训选项。
设置注册服务的刷新频率
在服务端设置 leaseRenewalIntervalInSeconds 和 leaseExpirationDurationInSeconds 选项。
leaseRenewalIntervalInSeconds - 发送心跳信息所间隔的秒数,默认是30秒
leaseExpirationDurationInSeconds - 在没收到心跳信息的情况下,再等待的秒数(默认为90秒),超过后会删除对应服务的注册信息。
例:
1 | eureka: |
客服端注册的频率
通过设置客户端注册的频率,控制客户端向服务端注册自己或是从服务端获取信息的时间间隔。
- initialInstanceInfoReplicationIntervalSeconds
客户端启动后,需要将自身的信息发送给服务器,如果没有连上服务器,则在该参数配置的时间间隔进行重试。(该值默认为40秒)
- instanceInfoReplicationIntervalSeconds
在初次发送自身的信息后,间隔多少秒更新向服务端更新自身的信息,默认为30秒
例:
1 | eureka: |
客户的缓存
fetchRegistry - 是否从服务端获取其它服务的信息,true / false
shouldDisableDelta - 在刷新其它服务的信息时,是否使用增量模式,默认为: true
registryFetchIntervalSeconds - 刷新的服务信息的频率,默认为30秒
例:
1 | eureka: |
- 如果启动了Robbin客户端缓存,则参数 ribbon.ServerListRefreshInterval 对刷新的结果也有影响。