Как включить автоматическую маршрутизацию в Netflix / Zuul и Netflix / Ribbon с информацией об обнаружении из Netflix / Eureka Service?

Я новичок в архитектуре облачных микросервисов netflix.

В моей сети работают три микросервиса:

  • Zuul / Ribbon Service: localhost: 8765.

    Application.yml: =============== eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/

  • Сервис Eureka: localhost: 8761

  • RentCarService: localhost: 8888

Теперь мой запрос: localhost: 8765 / RentCarService / getAllAvailableCars.

Этот запрос должен автоматически перенаправляться на нужный микросервис (RentCarService с портом 8888), например localhost: 8888 / getAllAvailableCars.

Я видел много руководств, и большинство из них пересылают запросы программно, как в этом руководстве:

Обнаружение микросервисов с помощью Spring boot и eureka

Или здесь с помощью метода getServiceURL

Должен ли я кодировать переадресацию самостоятельно или это возможно автоматически с помощью ленты?

С уважением, ларс


person Lars Wi    schedule 16.12.2016    source источник


Ответы (2)


Пока у меня это работает. Моя основная проблема заключалась в разных версиях в разных микросервисах. Пожалуйста, позаботьтесь об этом!

Другое мнение: я думаю, что автоматическая маршрутизация (без определения маршрутизации) невозможна. Пришлось написать хотя бы название микросервиса в определениях маршрута. В этом случае разрешение адреса выполняется сервером Eureka.

Пожалуйста, поправьте меня, если я ошибаюсь.

person Lars Wi    schedule 21.12.2016

До сих пор не существовало такой вещи, как автоматическая маршрутизация, по крайней мере, нам нужно объявить Zuul в вашем yml-файле, который будет обрабатывать маршрутизацию.

В вашем application.yml добавьте эту строку

 zuul:
  routes:
   users:
    path: /myusers/**
    serviceId: users_service

Для игнорирования любой маршрутизации используйте свойство ignoredServices, например

 zuul:
  ignoredServices: '*'

Для получения дополнительной информации перейдите по этой этой ссылке.

Это проигнорирует всю автоматическую маршрутизацию ваших услуг.

Надеюсь, что это помогает вам.

Спасибо.

person Vipul Panth    schedule 18.12.2016
comment
Спасибо за ваш комментарий! Но это не значит, что я предлагаю услугу под названием пользователи? Думаю, может, это возможность? github.com/jmnarloch/ с уважением, Ларс - person Lars Wi; 19.12.2016
comment
потому что я не хочу описывать конкретную информацию о сервисе в application.yml. Всякая информация об услугах должна запрашиваться с сервера Eureka. Сервер Zuul должен динамически маршрутизировать службу, которая ранее была зарегистрирована на сервере Eureka. - person Lars Wi; 19.12.2016