Получи случайную криптовалюту за регистрацию!

Конспект по теме 'BFF (Backend for Frontend)' из категории 'Па | .NET backend study

Конспект по теме "BFF (Backend for Frontend)" из категории "Паттерны"

Данный паттерн позволяет создать некую прослойку между клиентом и всеми backend-микросервисами. Эта прослойка называется BFF.

Алгоритм работы:

⦁ BFF получает запрос от клиента;
⦁ BFF осуществляет обработку и преобразование/обогащение данных, пришедших от клиента (опционально);
⦁ BFF перенаправляет клиентский запрос нужному backend-микросервису;
⦁ Backend-микросервис обрабатывает запрос и отдаёт ответ BFF;
⦁ BFF осуществляет обработку и преобразование/обогащение данных, пришедших от backend-микросервиса (опционально);
⦁ BFF возвращает итоговый ответ клиенту.

Одна из возможных реализаций BFF на клиенте - язык запросов GraphQL (ссылка на конспект по GraphQL).

Преимущества данного подхода:

⦁ Фильтрация - клиент получает только то, что ему нужно;
⦁ Скрываются детали реализации backend. Клиент не привязывается к архитектуре backend. Работа ведётся с прослойкой;
⦁ На клиенте код получается более чистым и пишется меньше логики и проверок;
⦁ На backend появляется прослойка для модификации, предобработки и постобработки данных.

Минусы этого подхода:

⦁ Добавляется ещё один этап обработки запроса - соответственно, повод для проседания производительности;
⦁ Новый код - повод для багов, увеличение сроков разработки.


Вернуться в бэклог категории Паттерны.