我正在使用Consul进行服务发现,并且我的两个服务都已在Consul中注册,因为它在Consul UI中可见。
Consul 但是,当我尝试通过示例服务使用Feign Client访问auth-service中可用的开放端点时,我得到
“ com.netflix.client.ClientException:负载均衡器没有 客户端可用的服务器:auth-service”。
身份验证服务 AuthServiceApplication.java
@EnableDiscoveryClient
@SpringBootApplication
@ComponentScan(basePackages = {"com.learning.*"})
public class AuthServiceApplication {
public static void main(String[] args) {
SpringApplication.run(AuthServiceApplication.class, args);
}
}
bootstrap.yaml
spring:
application:
name: auth-service
示例服务 ExampleService.java
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients(
basePackages = {"com.learning.feign.*"}
)
@ComponentScan(basePackages = {"com.learning.*"})
public class ExampleService {
public static void main(String[] args) {
SpringApplication.run(ExampleService.class, args);
}
}
AuthFeignClient.java
@FeignClient(
name = "auth-service"
)
public interface AuthFeignClient {
@GetMapping({"/testData"})
ResponseEntity<GetPublicKeyResponse> getTestData();
}
注意:当我对不需要的URL进行硬编码时,Feign可以正常工作。 当我尝试使用auth-service端点时,我无法使用。