Airbnb завершил миграцию своего агрегирования метрик на OpenTelemetry, что позволяет обрабатывать более 100 миллионов данных в секунду. Это важный шаг для повышения производительности и расширяемости инфраструктуры команды разработчиков.
Причины перехода на OpenTelemetry
Команда наблюдаемости Airbnb отказалась от устаревшего StatsD и системы агрегирования Veneur для создания нового современного решения на базе OpenTelemetry Protocol (OTLP) и VictoriaMetrics. Это решение значительно снизило нагрузку на процессоры для обработки метрик в Java-приложениях — с 10% до менее 1% общего времени CPU.
Технические детали миграции
Одной из главных задач было объединение трёх существующих систем сбора данных: StatsD, OTLP и нового хранилища на основе Prometheus. Airbnb обновила свою общую библиотеку метрик, которую используют 40% сервисов, для поддержки двух режимов: отправка данных в старую систему и в новую на OpenTelemetry. Это сделало миграцию более плавной и менее болезненной.
Хотя переход на OTLP привел к значительным улучшениям, у высоконагруженных служб возникли проблемы с потреблением памяти и увеличением сборки мусора при включении новой системы. Команда решила эту проблему, изменив временную агрегацию, что позволило минимизировать влияние на производительность.
К чему ведёт этот переход
Для российских команд разработчиков это означает, что они могут разрабатывать и внедрять адаптивные системы мониторинга и агрегации метрик на базе OpenTelemetry. Это решение сделает возможность обработки больших объёмов данных более доступной и эффективной. Учитывая, что старые системы становятся неэффективными, компании стоит рассмотреть переход на OpenTelemetry для обеспечения гибкости и масштабируемости своих решений.
Следующий шаг для Airbnb — оптимизация работы новых систем и устранение оставшихся узких мест, чтобы поддерживать требуемый объём работ и качество сервиса.