Деградация вместо даунтайма: Node.js под DDoS

Цифровые иммунные системы и инженерия надёжности. Хаос инжиниринг

Программный комитет ещё не принял решения по этому докладу

Целевая аудитория

SRE, DevOps-инженеры, backend/Node.js разработчики, engineering managers, ответственные за надёжность высоконагруженных сервисов и подготовку к пиковым нагрузкам/DDoS

Тезисы

Node.js сервисы падают не от "слишком много трафика", а от бесполезной работы по aborted requests: handler продолжает жечь CPU, коллить backends и блокировать event loop после того, как клиент ушёл.

Я покажу реальный production-кейс из Yandex Maps: как перестроили Node.js + Express сервис за Nginx (SSR + несколько backends) под graceful degradation:
- req.aborted + socket.on('close') — ранний выход из handler'а
- Пропагация cancellation через HTTP clients и тяжёлые операции
- Nginx rate limiting + app-level emergency switches (отключение SSR/backends)
Как результат: сервис живёт под DDoS и пиковыми нагрузками. Обсудим код и метрики до и после.

Глеб Решетнев

Яндекс Карты

Старший фронтенд‑инженер с более чем восьмилетним опытом разработки высоконагруженных веб‑сервисов, включая крупные картографические продукты. Специализируюсь на фронтенд‑архитектуре, сборке и оптимизации бандлов, а также на Node.js‑сервисах под высокой нагрузкой, с особым вниманием к производительности и надёжности в боевом окружении.

Видео