advanced
BFF
Используйте backend-for-frontend services для client-specific workflows, осознанно owning duplication, caching, auth и contract drift.
BFF формирует APIs под конкретный client — mobile, web, partner — агрегируя вызовы, адаптируя payloads и client-specific auth и caching. Снижает chattiness для UI, но дублирует logic, если у каждой платформы divergent BFF без shared domain services.
Компромисс: оптимизированный client experience против нескольких backends на поддержку.
На интервью: BFF vs generic API gateway; где aggregation заканчивается и начинаются domain services.
Типовые ошибки: business rules в BFF; BFF per developer вместо per client type; нет contract tests с frontend.
Чеклист:
- Один BFF per user experience surface, не per feature.
- Инварианты делегируйте domain services.
- Cache и batch reads для mobile latency.
- Version BFF с cadence релиза client.