Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring cloud Spring Cloud disable Ribbon不适用于Netflix Zuul依赖项_Spring Cloud_Netflix Zuul_Spring Cloud Feign_Netflix Ribbon - Fatal编程技术网

Spring cloud Spring Cloud disable Ribbon不适用于Netflix Zuul依赖项

Spring cloud Spring Cloud disable Ribbon不适用于Netflix Zuul依赖项,spring-cloud,netflix-zuul,spring-cloud-feign,netflix-ribbon,Spring Cloud,Netflix Zuul,Spring Cloud Feign,Netflix Ribbon,我们在spring应用程序中使用openfeign客户端: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-openfeign-core</artifactId> <version>3.0.1</version> </dependency> <depend

我们在spring应用程序中使用openfeign客户端:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-openfeign-core</artifactId>
    <version>3.0.1</version>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
    <version>3.0.1</version>
</dependency>
我在这里找到了另一个答案:,这表示您需要在外部配置中为客户机定义bean,如下所示:

@Bean
public Client feignClient() {
    return new Client.Default(null, null);
}
我这样做了,它现在正在工作,但我不知道这个默认客户端实际做什么,它是否会破坏一些配置等。。。所以我真的不确定这是否是一个解决方案。我还想知道,为什么spring配置
spring.cloud.loadbalancer.ribbon.enabled=false
根本不起任何作用

也许我需要等待zuul更新(这可能不会发生)


我使用的是spring cloud 2020.0.1和spring boot 2.4.2,不支持混合3.x和2.x版本。我明白了,但2.2.6.RELEASE是最新版本-希望他们能提供更新,不确定我们是否能摆脱zuul:(zuul 1不再由Netflix维护,已经从spring cloud 2020.0(版本3.0.x)中删除)我现在知道了,但是我们在项目中使用了zuul。因为zuul包含ribbon作为依赖项,所以假装客户端也在使用ribbon(这导致了上面的错误)。这应该通过在配置中禁用ribbon来解决,但由于某些原因,它不起作用,尽管我禁用了它,但Faign仍在使用ribbon。似乎唯一的解决方案是从我们的项目中完全删除zuul。如果您想使用boot 2.4和Spring Cloud 2020.0,那么是的。Spring Cloud gateway是我们的替代品。
spring:
    cloud:
        loadbalancer:
            ribbon:
                enabled: false
@Bean
public Client feignClient() {
    return new Client.Default(null, null);
}