如何降低zuul-proxy延迟?

时间:2017-05-21 23:34:22

标签: spring netflix-eureka netflix-zuul

我部署了eureka-servereureka-client-1eureka-client-2zuul-proxy

eureka-client-*正在从{status:"UP"}更改为{status:"DOWN"}

如何降低延迟时间,以便zuul-proxy始终指向eureka-client-* {status:"UP"}之一?

1 个答案:

答案 0 :(得分:3)

有几种方法可以减少延迟。 以下值仅作为示例。

Eureka Server Response Cache

eureka服务器属性

eureka.server.response-cache-update-interval-ms: 5000 (default 30000)

Eureka服务器具有性能响应缓存,因此它不会返回它在上述毫秒内知道的实际值。您可以使用以上属性来减少此延迟。

Zuul Ribbon Cache

zuul property

ribbon.ServerListRefreshInterval: 5000  (default 30000)

如您所知,zuul正在使用Ribbon进行负载平衡,而Ribbon则具有服务器列表的缓存。默认值为30秒。您可以使用above属性调整此值以减少功能区缓存时间。

Eureka客户端缓存

eureka客户端属性(在您的情况下,它是zuul属性)

eureka.client.registryFetchIntervalSeconds : 30

Zuul是另一个eureka客户端,它使用eureka客户端检索特定服务的可用服务器列表。默认间隔为30秒,您可以使用上述属性调整此值。

租约到期时间

eureka实例属性(在您的情况下,适用于您的eureka-client-1eureka-client-2

eureka.instance.lease-expiration-duration-in-seconds: 60 (default 90)

如果Eureka服务器在上述秒数内未收到心跳,则eureka服务器会从可用服务器列表中删除该实例。您的每个客户端每30秒发送一次心跳(该值也是可配置的,但不会更改此属性,因为eureka服务器根据30秒的假设有一些代码)。因此,如果连续三次无法发送(或服务器无法接收)心跳,则90秒意味着eureka实例将从列表中删除。您可以减少此持续时间,但您可能会有一些风险。此属性必须存在于您的eureka客户端。

这里有一篇关于此信息的精彩文章:http://blog.abhijitsarkar.org/technical/netflix-eureka/

相关问题