API Gateway решает общие задачи входа и маршрутизации, а BFF адаптирует API под конкретный клиентский опыт. Они могут сосуществовать, а не обязательно заменяют друг друга.
Чем паттерн API Gateway отличается от паттерна BFF (Backend-for-Frontend)? В каких случаях для разных типов клиентов — мобильных, веб- и десктопных — стоит писать отдельные бэкенды?
API Gateway решает общие задачи входа и маршрутизации, а BFF адаптирует API под конкретный клиентский опыт. Они могут сосуществовать, а не обязательно заменяют друг друга.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
API Gateway решает общие задачи входа и маршрутизации, а BFF адаптирует API под конкретный клиентский опыт. Они могут сосуществовать, а не обязательно заменяют друг друга.
Отдельные BFF полезны, когда мобильному и web-клиенту существенно различаются агрегация, размер ответа, последовательность запросов или темп развития. Общую бизнес-логику лучше сохранять в доменных сервисах, не копируя её в каждый BFF. Если отличия минимальны, дополнительные сервисы добавят расходы без пользы. Решение принимают по реальным потребностям клиентов и ответственности команд.
Источник: learn.microsoft.com.