Как зарегистрировать более одного сервиса для каждого клиента eureka на сервере eureka? - PullRequest
0 голосов
/ 16 мая 2018

Я начинаю изучать Eureka API.Я создал Eureka Server с использованием весенней загрузки и соответствующих клиентов.Для начала я создал Eureka Client и зарегистрировался на сервере.Клиент выставлял сервис get без указания пути

@GetMapping("/")

Это прекрасно работает.Как только я получу серверный экземпляр, используя DiscoveryClient, как показано ниже, я смогу запустить службу

List<ServiceInstance> list = client.getInstances(service);
    if (list != null && list.size() > 0) {
        URI uri = list.get(0).getUri();
        String url=uri.toString();
        if (url != null) {
            return (new RestTemplate()).getForObject(url, String.class);
        }
    }

Но я не был уверен, как настроить службу, которая имеет путь, например

@GetMapping("/greetings")

Сейчас я могу жестко закодировать его как

List<ServiceInstance> list = client.getInstances(service);
    if (list != null && list.size() > 0) {
        URI uri = list.get(0).getUri();
        String url=uri.toString()+"/greetings";
        if (url != null) {
            return (new RestTemplate()).getForObject(url, String.class);
        }
    }

Или зарегистрировать это как имя службы в bootstrap.yml на клиенте как

spring:
  application:
    name: eurekaClient2/greetings

Но есть ли другой способ сделать это?Что если я захочу выставить сервис get и post?Как мне настроить в этом случае?

1 Ответ

0 голосов
/ 17 мая 2018

С сервера Eureka вы не получите конечные точки, предоставленные службой, экземпляры которой зарегистрированы на сервере Eureka.

Ответ от сервера Eureka содержит только информацию о доступности приложения, такую ​​как имя хоста, IP-адрес и т. Д.

Клиенты должны будут жестко кодировать конечные точки (или читать их из свойств) других служб, которые они хотят вызвать.Eureka предоставляет только имя хоста (и другие связанные сведения) зарегистрированных экземпляров.

spring.application.name используется в качестве идентификатора службы.Служба регистрируется в реестре сервера Eureka с использованием этого идентификатора службы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...