小编vin*_*xyz的帖子

Spring Cloud kubernetes 使用 feign 的正确方法是什么?

我正在使用 Spring Cloud Kubernetes,我试图让 feign 能够根据 kubernetes 中存在的服务的名称发送请求,但是我不能,当我尝试发出请求时,会发生以下错误:

  "timestamp": "2019-12-06T15:37:50.285+0000",
    "status": 500,
    "error": "Internal Server Error",
    "message": "com.netflix.client.ClientException: Load balancer does not have available server for client: poc-saldo",
    "trace": "java.lang.RuntimeException: com.netflix.client.ClientException: Load balancer does not have available server for client: poc-saldo\n\tat org.springframework.cloud.openfeign.ribbon.LoadBalancerFeignClient.execute....
Run Code Online (Sandbox Code Playgroud)

我尝试调用集群内的其他服务,但所有这些服务的问题都是一样的,我通过进入 poc-deposit pod 并执行 poc-balance curl 进行了测试,它正常工作,所以问题不在于poc 存款服务。平衡或显然与 kubernetes 的服务发现。

该项目的公开资料位于:

https://gitlab.com/viniciusxyz/spring-kubernetes-feign
Run Code Online (Sandbox Code Playgroud)

对于那些想要更直接信息的人:

我的主要课程如下:

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class ServiceDiscoveryApplication {

    public static void main(String[] args) {
        SpringApplication.run(ServiceDiscoveryApplication.class, args);
    }

}
Run Code Online (Sandbox Code Playgroud)

我与feign的界面如下:

@FeignClient("poc-saldo")
public interface ProxyGenerico {

    @RequestMapping(method …
Run Code Online (Sandbox Code Playgroud)

java spring-boot kubernetes spring-cloud spring-cloud-feign

8
推荐指数
1
解决办法
4649
查看次数