【问题标题】:Feign client manually. Load balancer does not have available server for client手动伪装客户端。负载均衡器没有可供客户端使用的服务器
【发布时间】:2017-12-25 20:22:02
【问题描述】:

我在 eureka 注册了两个服务。服务 C 调用服务 A。服务 C 是 feign 客户端。我想手动实现假客户端。但我发现了一个异常:

com.netflix.client.ClientException:负载均衡器没有 客户端可用的服务器:service-test-a

应用类:

@EnableEurekaClient
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

Feign接口:

@Component
public interface FeignService {
    @RequestLine("GET /")
    public String getServiceA();
}

假装配置:

@Configuration
@Import(FeignClientsConfiguration.class)
public class MyConfig {

}

控制器:

@RestController
public class Controller {

    private FeignService feignService;

    @Autowired
    public void Controller() {
        feignService = Feign.builder()
                .client(RibbonClient.create())
                .target(FeignService.class, "http://service-test-a");
    }

    @RequestMapping(value = "/build", method = RequestMethod.GET)
    public String getServiceC() {
        return feignService.getServiceA();
    }
}

我做错了什么?

【问题讨论】:

标签: netflix-eureka netflix-feign


【解决方案1】:

AFAIK,没有简单的方法可以将 OpenFeign 与 eureka 一起使用。没有指南或示例。另外我猜它可能需要一些额外的实现和配置。

请尝试使用 Spring Cloud Feign。它提供了与 eureka 和功能区的完全集成,无需任何额外的实现。您只需对上述代码进行一些更改即可使用 Spring Cloud Feign。

请参考Spring Cloud Feign

【讨论】:

  • 谢谢。我看到了。但我想和建筑商打交道。
  • 您可以将builder与spring cloud feign一起使用。
猜你喜欢
  • 2017-05-15
  • 2018-06-07
  • 2019-02-09
  • 2019-04-09
  • 2019-03-23
  • 2016-04-02
  • 2017-06-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多