Spring 如何降低zuul代理延迟?

Spring 如何降低zuul代理延迟?,spring,netflix-eureka,netflix-zuul,Spring,Netflix Eureka,Netflix Zuul,我部署了eureka服务器,eureka-client-1,eureka-client-2和zuul代理 eureka客户端-*正在从{status:“UP”}更改为{status:“DOWN”} 如何降低延迟,以便zuul proxy始终指向eureka客户机-*中的一个,即{status:“UP”}?有几个选项可以减少延迟。 下面的值只是示例 Eureka服务器响应缓存 eureka服务器属性 Eureka服务器具有用于性能的响应缓存,因此它不会返回在上述毫秒内知道的实际值。您可以使用上述属

我部署了
eureka服务器
eureka-client-1
eureka-client-2
zuul代理

eureka客户端-*
正在从
{status:“UP”}
更改为
{status:“DOWN”}


如何降低延迟,以便
zuul proxy
始终指向
eureka客户机-*
中的一个,即
{status:“UP”}

有几个选项可以减少延迟。 下面的值只是示例

Eureka服务器响应缓存

eureka服务器属性

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

Zuul功能区缓存

祖尔财产

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

Eureka客户端缓存

eureka客户财产(在您的情况下,它是zuul财产)

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

租约到期期限 eureka实例属性(对于您的
eureka-client-1
eureka-client-2

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


这里有一篇关于此信息的好文章:

有几个选项可以减少延迟。 下面的值只是示例

Eureka服务器响应缓存

eureka服务器属性

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

Zuul功能区缓存

祖尔财产

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

Eureka客户端缓存

eureka客户财产(在您的情况下,它是zuul财产)

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

租约到期期限 eureka实例属性(对于您的
eureka-client-1
eureka-client-2

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

这里有一篇关于此信息的精彩文章:

eureka.server.response-cache-update-interval-ms: 5000 (default 30000)
ribbon.ServerListRefreshInterval: 5000  (default 30000)
eureka.client.registryFetchIntervalSeconds : 30
eureka.instance.lease-expiration-duration-in-seconds: 60 (default 90)