Блог инженера

History is written by its contributors

Go Runtime: как GC влияет на P99 latency в высоконагруженных API

2025-12-27 время чтения 10 мин Go Performance

У вас отличный API с медианной задержкой 5ms, но P99 внезапно подскакивает до 500ms? Клиенты жалуются на периодические зависания? Добро пожаловать в мир Go Garbage Collector и его влияния на tail latency.

В этой статье разберем реальную проблему: как 10ms GC пауза превращается в 500ms задержку для пользователей, и что делать, чтобы держать P99 latency под контролем.

Читать далее

Graceful Shutdown в Go: корректная остановка сервиса под нагрузкой

2025-12-23 время чтения 14 мин Go Production

В production окружении, особенно в Kubernetes, сервисы постоянно останавливаются и запускаются: деплой новых версий, масштабирование, переключение нод. Некорректная остановка приводит к потерянным запросам, неотправленным данным и рассинхронизированному состоянию.

Graceful shutdown - это не просто обработка SIGTERM. Это комплексная стратегия завершения работы, которая гарантирует:

  • Завершение обработки активных запросов
  • Корректное закрытие соединений с БД и кэшами
  • Сохранение промежуточных результатов
  • Отправку всех метрик и логов

Давайте разберем, как реализовать это правильно.

Читать далее