
Глеб Решетнев
Yandex Maps
High-load Node.js сервисы падают не от «слишком много трафика», а потому что продолжают выполнять бесполезную работу: клиенты abort'ят запросы, но handler жрет CPU, зовет downstream backends, парсит ответы и блочит event loop.
Расскажу про реальный production incident в Node.js + Express сервисе за Nginx (с SSR и несколькими backends). Покажу, как переделали под graceful degradation при peak load и DDoS-подобных спайках:
— req.aborted/close детекция для early stop;
— Propagation cancellation по всей pipeline (HTTP calls, parsing);
— Nginx rate limiting + app-level rejection на edge;
— Emergency switches: отключение specific backends/SSR runtime'ом.

Yandex Maps