Сбои в работе API
Incident Report for Mindbox

Resolved
Сегодня ночью изолировали базу данных API. На очереди еще изоляция Redis серверов и изоляция очередей RabbitMQ на разные сервера.

На данный момент API продолжает работать стабильно.

Нам потребуется еще месяц, чтобы добавить метрик и исследовать все подозрительные места, чтобы однозначно определить причины, а также гарантировать, что ситуация не повторится.

Сейчас инцидент закрываем, вернемся с подробным разбором и отчетом о проделанной работе через месяц.
Posted Sep 30, 2019 - 11:06 UTC
Update
API работает стабильно, мы успешно произвели несколько выкладок кода, и теперь можем приступить к улучшениям, направленным на стабильность.

Весь следующий месяц мы посвятим надежности API.

Мы также приблизились к ответу на вопрос о причинах инцидента, но пока нет 100% уверенности.

Рабочая гипотеза в том, что мы уперлись в сетевую нагрузку на веб-серверах, и попытались отмасштабироваться добавлением новых серверов. Однако, из-за совпадения нескольких факторов, конфигурация системы привела к тому, что новые сервера испытывали двойную сетевую нагрузку, а мы сделали ошибочные выводы, что они отказали из-за ошибок при их настройке или сетевым проблемам, и вывели их из эксплуатации.

Теперь, когда API изолирован, мы обнаружили и решили проблему с удвоившимся трафиком на новые сервера.

Нам потребуется еще время на подробный инцидент репорт, и мы хотим убедиться, что инцидент не повторится.

Вернемся через неделю.
Posted Sep 23, 2019 - 18:00 UTC
Update
Перенесли всю нагрузку на выделенный изолированный кластер.

Пока все еще не уверены в причинах проблем, продолжаем разбираться и мониторить ситуацию.

Последние сутки API работает стабильно, повторения ситуации не ожидаем. Тем не менее, так как пока точной причины мы не знаем (пока что выглядит как совокупность нескольких факторов) - продолжаем разбираться и не уменьшаем усилия по разрешению инцидента.

Вернемся в течение 1-3 рабочих дней, по мере появления новой информации.
Posted Sep 19, 2019 - 16:59 UTC
Update
Примерно 30% нагрузки на API перенесли на изолированную инфраструктуру.
Продолжаем мониторить и постепенно переносить траффик.

Обновим статус завтра.
Posted Sep 18, 2019 - 13:03 UTC
Update
У нас есть хорошая гипотеза о причинах проблемы, на данный момент мы считаем, что из-за чрезмерной нагрузки мы упираемся в лимиты производительности клиента Redis. Проблема не решается простым добавлением серверов, и мы активно ищем решение.

Что мы делаем:

- Сегодня ночью запланирован первый блок работ по изоляции API на отдельную инфраструктуру. Планируем полностью изолировать до конца недели.
- Улучшаем покрытие метриками, чтобы найти что именно и при каких условиях приводит к повышенной нагрузке. К сожалению, для этого необходимо перевыкладывать код на продакшен, что в данной ситуации может привести (и, увы, часто приводит) к кратковременной недоступности. Из-за этого мы вынуждены двигаться медленно, и экспериментировать ночью.
- Меняем работу приложения таким образом, чтобы по другому использовать клиент Redis, что, в теории, должно системно решить проблему. Это может занять несколько дней.

Также обсуждаем набор шагов, чтобы избежать повторения ситуации, опубликуем все вместе с финальным отчетом по инциденту.

Завтра обновим статус.
Posted Sep 17, 2019 - 13:59 UTC
Update
Мы подготовили план работ по переносу сервисов API-гейта на изолированные машины. Это должно помочь лучше справляться с нагрузкой. Работы будут проведены на этой неделе.
Posted Sep 16, 2019 - 18:11 UTC
Update
Сегодня пристально смотрели на все мониторинги. Таких снижений производительности, как вчера, не наблюдалось.

На выходных подготовимся к переводу API-гейта на новую инфраструктуру, это должно помочь системно.

Также связались с поддержкой производителя сетевого оборудования, ждём ответа.

Вернёмся с обновлением статуса в понедельник.
Posted Sep 13, 2019 - 16:25 UTC
Update
Диагностировали возможную причину проблем: подозреваем сетевое оборудование, с которым работает часть веб-серверов. Мы перенаправили большую часть трафика на другие сервера и продолжаем разбираться.

Нам кажется, что несколько инцидентов с начала сентября связаны с этими проблемами. Мы анализируем все такие поломки в комплексе и опубликуем подробный post-mortem по результатам.
Posted Sep 13, 2019 - 07:17 UTC
Monitoring
В данный момент все сервисы работают. Ищем причины возникновения ошибки и продолжаем наблюдать.

Вернёмся с подробным разбором до конца дня.
Posted Sep 12, 2019 - 09:17 UTC
Investigating
У нас проблемы с API-гейтом: часть обращений к нашим сервисам V3 не работает.
Работаем над починкой, вернёмся со статусом в 12:30.
Posted Sep 12, 2019 - 09:06 UTC
This incident affected: Процессинг, Javascript API, and Рекомендации на сайте.