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.