Динамическая настройка Zuul Proxy во время выполнения?
У меня есть путь URL, который выглядит следующим образом:
/{identifier}/rest/of/resource/path
Если identifier
является A
тогда запрос должен идти service_I
, Если identifier
является B
тогда запрос также должен идти в service_I
, Если identifier
является C
то запрос должен идти service_II
, и так далее.
Позже новый identifiers
M
а также N
добавляется в систему, и их запросы должны быть направлены на service_IV
,
Можно ли динамически настроить прокси-сервер zuul в облаке Spring для выполнения задач, описанных выше?
редактировать
Этот предложенный вопрос содержит другой способ изучения вопроса.
В нем Zuul имеет следующую конфигурацию:
zuul:
routes:
<service_id>:
path: /path/**
Зуул будет сотрудничать с Эврикой, чтобы найти service-id
и вернуть параметры хоста, чтобы сервис был доступен. Что если вместо /path
у нас есть /{userID}
и userID
экземпляры распределены по нескольким service_id
хосты?
Может ли Zuul / DiscoveryClient запросить Eureka для обоих service_id
и userID
выяснить, какой хост хостинг конкретного userID
?
1 ответ
Вам нужно будет написать кастом ZuulFilter
чтобы сделать это. Посмотрите на PreDecorationFilter для некоторых подсказок, поскольку это фильтр, ответственный за обработку /path
где путь service-id
(между прочим).