Услуги, не зарегистрированные в Eureka - PullRequest
0 голосов
/ 10 января 2019

Я использовал версии spring-cloud-starter-eureka 1.4.5 и spring-boot 2.0.4.

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-eureka</artifactId>
    <version>1.4.5.RELEASE</version>
</dependency>

Ниже отметим конфигурации eureka в проекте.

spring:
  application:
    name: project-name
eureka:
  client:
    serviceUrl:
      defaultZone:  http://secodaryip:port/eureka/,http://primaryip:port/eureka/
  cloud:
    config:
      uri: ${vcap.services.${PREFIX:}configserver.credentials.uri:http://user:password@localhost:8000}

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

Трудно найти какое-либо решение. Любая помощь или обходной путь могут быть оценены по достоинству.

1 Ответ

0 голосов
/ 10 января 2019

Ваши клиенты будут подключаться к первому хосту из вашей конфигурации eureka.client.serviceUrl.defaultZone. Только если он недоступен, будет использоваться второй хост.

Не могли бы вы также опубликовать конфигурацию сервера eureka? Есть ли у вас взаимная осведомленность между узлами эврики? Если вы хотите реплицировать состояние служб между узлами eureka, у вас должно быть что-то подобное в вашей конфигурации eureka:

node1:

eureka:
  client:
    serviceUrl:
      defaultZone:  http://secodaryip:port/eureka/

node2:

   eureka:
      client:
        serviceUrl:
          defaultZone:  http://primaryip:port/eureka/
...