Sîr*_*zar 2 spring netflix-eureka netflix-zuul
我有一个eureka-server,eureka-client-1,eureka-client-2和zuul-proxy部署。
将eureka-client-*被更改{status:"UP"}到{status:"DOWN"}。
我如何能降低延迟,这样zuul-proxy总是指向的一个eureka-client-*是{status:"UP"}?
有几个选项可以减少延迟。下面的值仅作为示例。
Eureka 服务器响应缓存
尤里卡服务器属性
eureka.server.response-cache-update-interval-ms: 5000 (default 30000)
Run Code Online (Sandbox Code Playgroud)
Eureka 服务器具有性能响应缓存,因此它不会返回它在上述毫秒内知道的实际值。您可以使用上述属性减少此延迟。
Zuul 丝带缓存
祖尔财产
ribbon.ServerListRefreshInterval: 5000 (default 30000)
Run Code Online (Sandbox Code Playgroud)
如您所知,zuul 使用 Ribbon 进行负载平衡,而 Ribbon 为服务器列表提供缓存。默认值为 30 秒。您可以使用上述属性调整此值以减少功能区缓存时间。
Eureka 客户端缓存
eureka 客户端属性(在您的情况下,它是 zuul 属性)
eureka.client.registryFetchIntervalSeconds : 30
Run Code Online (Sandbox Code Playgroud)
Zuul 是另一个 eureka 客户端,它使用 eureka 客户端检索特定服务的可用服务器列表。默认间隔为 30 秒,您可以使用上述属性调整此值。
eureka 实例属性(在您的情况下,对于您的eureka-client-1, eureka-client-2)
eureka.instance.lease-expiration-duration-in-seconds: 60 (default 90)
Run Code Online (Sandbox Code Playgroud)
如果 Eureka 服务器在以上几秒钟内没有收到心跳,则 Eureka 服务器从可用服务器列表中删除该实例。您的每个客户端每 30 秒发送一次心跳(该值也是可配置的,但不要更改此属性,因为 eureka 服务器有一些基于这 30 秒假设的代码)。所以 90 秒意味着如果 eureka 实例连续 3 次发送(或服务器接收失败)心跳失败,它将从列表中删除。您可以缩短此持续时间,但您可能会面临一些风险。您的尤里卡客户端必须存在此属性。
这里有一篇关于此信息的精彩文章:http : //blog.abhijitsarkar.org/technical/netflix-eureka/
| 归档时间: |
|
| 查看次数: |
1745 次 |
| 最近记录: |