学科分类
目录
Spring Cloud

Zuul中的Eager Load配置

Spring Cloud Zuul的路由转发也是通过Ribbon实现负载均衡的,默认情况下,客户端相关的Bean会延迟加载,在第一次调用集群服务时,才会初始化这些对象。所以Zuul无法在第一时间加载到Ribbon的负载均衡,如果想提前加载Ribbon客户端,可以在配置文件中进行以下配置:

zuul:
 ribbon:
  eager-load:
    enabled: true

但是,你尝试一下之后会发现并没有起效,这是由于Spring Cloud Zuul的Eager Load(饥饿加载)没有设计专门的参数来配置,而是直接采用了读取路由配置来进行Eager Load的做法。所以,如果我们使用默认路由,而没有通过配置的方式指定具体路由规则,那么zuul.ribbon.eager-load.enabled=true的配置就没有什么作用了。

因此,在真正使用的时候,我们可以通过zuul.ignored-services=*来忽略所有的默认路由,让所有路由配置均在配置文件中维护,以达到网关zuul启动时就默认初始化好了各个路由所要转发的负载均衡对象。

点击此处
隐藏目录