Для микросервисов обычно используется шаблон проектирования API-Gateway. Я немного смущен его реализацией и последствиями. Мои вопросы / опасения заключаются в следующем:
- Почему другие шаблоны для микросервисов обычно не обсуждаются? Если да, то пропустил ли я их?
- Если мы развернем сервер шлюза, разве это не узкое место?
- Разве сервер шлюза не уязвим для сбоев / отказов из-за чрезмерных запросов в одной точке? Я считаю, что на данный момент нагрузка будет огромной (и учитывая, что Netflix делает что-то в этом роде). Поправьте меня, если я не понимаю.
- Данные потоковой передачи / загрузки / выгрузки (например, файлы, видео, изображения) также будут проходить через сервер шлюза с другими службами промежуточного программного обеспечения?
- Почему мы не можем использовать шаблон прокси вместо шлюза?
Насколько я понимаю, в идеальной среде сервер шлюза будет обрабатывать запросы клиентов и отвечать на них после того, как микросервисы выполнили надлежащую задачу.
Кроме того, я искал Spring Cloud Gateway. Кажется, это то, что я ищу на сервере шлюза, но его функциональные возможности маршрутизации сбивают меня с толку, если это просто служба маршрутизации (перенаправления), а микросервис будет напрямую отвечать за ответ клиенту.