Когда неизвестная ошибка стоит миллионы: разбор прод-инцидента в Aerospike

SRE и эксплуатация систем

Миграции данных
Базы данных / другое
Отказоустойчивость
Распределенные системы
Логирование и мониторинг
Логи, метрики, ошибки
Хранилища
Микросервисы
DevOps / SRE
Инфраструктура

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

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

Middle/Senior Backend разработчики и DevOps инженеры

Тезисы

* Сервис на 80 нодах обрабатывает до 500K RTB-запросов в секунду. События ставок критичны для бизнеса: потеря данных означает невыполнение KPI рекламных кампаний и многомиллионные компенсации. В самый горячий сезон клиентская библиотека на Go для работы с Aerospike начала возвращать загадочную ошибку «server error». Документация не давала ответа, система была принудительно ограничена до 10% пропускной способности, а инцидент длился несколько дней.
* Я расскажу, как мы расследовали проблему через анализ логов, сопоставление их с исходным кодом сервера Aerospike и поиск первопричины. Оказалось, что в бесплатной версии существует жесткое ограничение в 4 млрд записей на ноду, о котором команда не знала. Мы очистили данные, перераспределили нагрузку и восстановили систему до 100% производительности.
* В докладе разберем, как искать первопричину «неизвестных» ошибок в распределенных хранилищах, как проектировать мониторинг вокруг скрытых лимитов, и какие архитектурные выводы нужно сделать, чтобы подобные инциденты не повторялись.

Go разработчик. В настоящее время работает над рекламной платформой МТС DSP.

Видео

Другие доклады секции

SRE и эксплуатация систем