Весенний облачный шлюз с автоматической маршрутизацией с эврикой - PullRequest
0 голосов
/ 05 ноября 2019

Я работаю с Spring для создания микросервисов. Я использую Eureka для обнаружения сервисов и Spring Cloud Gateway для маршрутизации. Я хотел бы выполнить автоматическую маршрутизацию для количества служб, которые у меня есть.

Например, если одна служба 'eureka-client' регистрируется на Eureka, и для маршрутизации с помощью Spring Cloud Gateway я должен создатьМаршрут самостоятельно для каждой услуги, как следующие.

  routes:
  - id: eureka-client
    uri: lb://eureka-client
    predicates:
    - Path=/eureka-client/**

С некоторыми услугами это приемлемо, но в итоге я могу получить сотни услуг. И каждый должен написать свой собственный маршрут в Spring Cloud Gateway. Я использовал spring.cloud.gateway.discovery.locator.enabled = true и не решает проблему. В основном я пытаюсь устранить конфигурацию маршрутов в файле yaml.

Есть ли способ обеспечить автоматическую маршрутизацию от Spring Cloud Gateway к каждому сервису от Eureka?

Ссылка: https://cloud.spring.io/spring-cloud-gateway/reference/html/#discoveryclient-route-definition-locator

Я получаю 404, так как не смогчтобы получить правильный маршрут Любая помощь будет оценена. Спасибо.

Ответы [ 2 ]

0 голосов
/ 12 ноября 2019

Попробуйте получить доступ к URL-адресу в верхнем регистре, например:

<localhost>:<port>/EUREKA-CLIENT/<path>

Если вы не хотите этого, установите следующее:

spring.cloud.gateway.discovery.locator.lower-case-service-id=true
0 голосов
/ 06 ноября 2019

Выполните действия, чтобы включить динамическую маршрутизацию.

  1. Добавьте spring-cloud-starter-netflix-zuul в свой список зависимостей
  2. Аннотируйте свой основной класс с помощью @EnableZuulProxy
  3. Удалите все настройки, связанные с маршрутизациейиз файла yaml
  4. Проверьте свои API
...