Zuul / Ribbon не может получить список серверов от eureka, когда имя клиента spring.application.name отличается от eureka.instance.appname - PullRequest
0 голосов
/ 13 июня 2019

Я регистрирую своих клиентов DiscoveryClients на сервере eureka. Имя клиента службы eureka.instance.app отличается от имени spring.application.name. На странице сервера eureka сервисы видны правильно зарегистрированными. То есть идентификатор службы - это то, что я упомянул в eureka.instance.appname соответствующего приложения, а идентификатор экземпляра устанавливается следующим образом:

<host-where-the-service-runs>:spring.app.name:<port-where-the-service-instance-runs>

т.е. на странице сервера eureka это выглядит как:

<eureka.instance.appname> n/a (1)  (1) UP (1) - hostname:<spring.application.name>:port1

Даже в клиенте zuulproxy маршруты отображаются на идентификатор службы (который был определен как eureka.instance.appname). Но лента клиента zuulproxy не может получить список серверов для идентификатора службы.

клиентское приложение.properties:

management.endpoints.web.exposure.include=*
eureka.client.serviceUrl.defaultZone = http://${EUREKA_SERVER:localhost}:8761/eureka/
eureka.instance.leaseRenewalIntervalInSeconds= 1
eureka.instance.leaseExpirationDurationInSeconds= 2
spring.application.name=clientService
eureka.instance.appname=${spring.application.name}_${spring.profiles.active}_${variant:}

application zuul.yml:

eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    serviceUrl:
      defaultZone: http://${EUREKA_SERVER:localhost}:8761/eureka/
  instance:
    preferIpAddress: true

Zuul / Ribbon не может получить список серверов для службы клиента eureka от Eureka, когда имя клиента spring.application.name отличается от eureka.instance.appname Сервисы зарегистрированы в eureka должным образом, но при выборе любого маршрута в карте маршрутов zuul лента не может загрузить список серверов для каких-либо сервисов. Есть ли какая-либо конфигурация, использующая свойства zuul, tape или eureka, чтобы маршруты работали без определения ленты.listOfServers для каждого route / serviceID вручную? Потому что, я думаю, это лишит преимущества динамической маршрутизации, которая является основной причиной наличия реестра служб на первом этапе.

...