Sobes.tech
Back to questions
Senior
8

Мы все знаем, что не ошибается только тот, кто ничего не делает. Расскажи про запоминающийся факап на продакшене: что пошло не так, как ты это исправил и какие выводы сделал?

Companies where asked
наполеон

Answer from AI

sobes.tech AI

Один из запоминающихся факапов на продакшене произошёл из-за некорректной обработки ошибки в сервисе на Go. В результате при определённых условиях приложение падало, что приводило к недоступности части функционала.

Что пошло не так:

  • В коде была допущена ошибка: функция возвращала ошибку, но она не проверялась должным образом.
  • Из-за этого ошибка не обрабатывалась, и приложение продолжало работать в некорректном состоянии.

Как исправил:

  • Быстро выявил проблему через логи и мониторинг.
  • Внёс исправления, добавив проверку ошибок и корректную обработку с возвратом ответа клиенту.
  • Развернул патч через CI/CD пайплайн с минимальным временем простоя.

Выводы:

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

Пример проверки ошибки в Go:

result, err := someFunction()
if err != nil {
    log.Errorf("Ошибка при выполнении someFunction: %v", err)
    return err
}
// продолжение работы с result

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