春云:如何在没有丝带的情况下使用假象

2022-09-01 20:54:00

我想在没有客户端负载均衡器功能区的情况下使用Feig,因为我不想运行Eureka,它需要分布式和高可用性。相反,具有由 Route53 管理的内部 DNS 名称的内部 ELB 将运行良好。

提供纯 URL 以始终产生结果,因此我尝试阻止 Feign 使用 Ribbon:@FeignClientno loadbalancer found for ..

Spring Cloud Netflix 附带 ,如果存在,则使用。但是,如果排除此依赖项,则会中断:FeignRibbonClientILoadBalancerribbon-loadbalancerFeignConfiguration

Bean creation exception on FactoryBean type check: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'apiVersionClient': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: feign.codec.Decoder org.springframework.cloud.netflix.feign.FeignConfiguration.decoder; nested exception is java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy

欢迎想法:-)


答案 1

如果要使用纯 URL,请使用:

@FeignClient(value = "http://example.com", loadbalance = false)

对于布里克斯顿释放列车,您将使用:

@FeignClient(url = "http://example.com", name = "example")

答案 2

有点晚了,但是在研究了这一点之后,如果你提供自己的客户端Bean,LoadBalancerFeignClient就不会被构建和使用,并且Feiign开放跟踪自动配置仍然可以工作。

@Bean
public Client feignClient() {
    return new Client.Default(null, null);
}

推荐