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)