Настройка: у меня есть набор микросервисов на основе Spring Boot, которые обслуживаются Spring Cloud Gateway, что означает, что каждый запрос, поступающий от пользовательского интерфейса или внешнего клиента API, сначала поступает в Spring Cloud Gateway, а затем пересылается в соответствующий микросервис.
Маршруты настраиваются в Consul, и Spring Cloud Gateway связывается с Consul для получения маршрутов соответствующим образом.
Требование: некоторые микросервисы должны взаимодействовать друг с другом с помощью REST API. Я бы предпочел, чтобы это общение происходило также через Spring Cloud Gateway. Это поможет сократить количество услуг, обращающихся к Consul для получения сведений о других услугах.
Это означает, что каждая служба должна знать хотя бы детали шлюза. Также может быть несколько экземпляров шлюзов. Как это решается в более крупных архитектурах?
Любой пример, который я ищу, содержит одну службу с использованием Consul или шлюз с использованием консула с одним микросервисом. Не мог понять, как экстраполировать этот замысел на более крупную систему.