Backend-for-Frontend (BFF) — это выделенный шлюз для каждого типа клиента (веб, мобильное приложение, партнёр). Вместо одного универсального шлюза, обслуживающего всех клиентов, каждый фронтенд получает бэкенд, адаптированный к его потребностям.
Проблема, которую это решает
Мобильное приложение и веб-приложение имеют различные требования к данным, размеру payload и интенсивности обмена данными. Один универсальный API вынуждает идти на компромиссы и приводит к избыточной загрузке данных.
Without BFF: With BFF:
All clients Web ─▶ Web BFF ─┐
│ Mobile ─▶ Mobile BFF ─┼─▶ microservices
one generic API Partner ─▶ Partner BFF ─┘
