Я использую Консул для обнаружения услуг, и обе мои службы зарегистрированы в Консуле, как это видно в пользовательском интерфейсе Консула.
Консул Но когда я пытаюсь использовать Feign Client из моего пример службы для доступа к открытой конечной точке, доступной в auth-service Я получаю
"com.netflix.client.ClientException: у балансировщика нагрузки нет доступного сервера для клиента: auth-service".
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
Example-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();
}
Примечание: Feign работает нормально, когда я жестко кодирую URL, который мне не нужен. Когда я пытаюсь использовать конечную точку аутентификации, я не могу.