Пульс веб-платформы 21.06.2026


Проекты

  • Netflix Service Topology: живая карта микросервисов — Netflix построила инструмент Service Topology — живую карту зависимостей между сервисами, обновляющуюся в реальном времени. Использует тройной источник данных: eBPF для полноты сетевых потоков, IPC-метрики для прикладного контекса и распределённые трейсы для поведения запросов. Строит три независимых графа и сливает их по запросу за секунды. Позволяет мгновенно узнать upstream/downstream любого сервиса, оценить зону поражения и посмотреть топологию в прошлом («путешествие во времени»)

Статьи, мнения, туториалы

Performance

  • Event Loop Lag при тысячах setTimeout — Когда на сервере больше 1000 активных таймеров, фаза timers начинает отъедать десятки миллисекунд на каждом tick — всё остальное встаёт в очередь. Автор разобрал реальный кейс с heartbeat для 5000 клиентов, где каждый tick пробегал по 5000 коллбеков и вызывал lag > 100ms. Решение: группировка через setInterval, замена на setImmediate для задач, не требующих таймерной фазы, мониторинг через node —prof и process.hrtime.
  • process.nextTick в дебаунсерах: классика Event Loop starvation — process.nextTick выполняется до всех фаз Event Loop, включая I/O и таймеры. Если его использовать в дебаунсере, то при частых событиях микрозадачи забьют очередь и Event Loop не сможет перейти к следующим фазам — классический starvation. Правильный дебаунсер — через setTimeout (макрозадача), он даёт I/O-фазе дышать. Автор привёл пример плохой реализации и показал, как диагностировать проблему через node —inspect и clinic.js.