Доклад о том, как BFF ведёт себя при сбоях зависимых сервисов и какие паттерны помогают ограничить последствия отказа для системы и пользователя. Примеры реализации написаны на TypeScript.
О чём выступление
- Как проекты приходят к BFF и какова цена его внедрения.
- Что может пойти не так в распределённой системе.
- Как Timeout или Deadline ограничивает время выполнения запроса.
- Как Retry сглаживает разовые и краткосрочные сбои.
- Как Circuit Breaker защищает сбоящий сервис от дополнительной нагрузки.
- Какие ограничения есть у каждого паттерна и как выбранная стратегия влияет на UX.
- Как реализовать эти паттерны на TypeScript.
Паттерны нельзя применять по отдельному чек-листу: повторный запрос способен усилить перегрузку, слишком короткий timeout — оборвать полезную работу, а fallback — скрыть проблему. Поэтому в докладе я рассматриваю не только реализацию, но и цену каждого решения.