Код на вынос
16 subscribers
1 photo
4 links
Про то, как решения сталкиваются с реальностью.
Факапы, идеи, опыт, код — без глянца.
Download Telegram
💾 Бэкап, который никогда не был бэкапом

Однажды в один из проектов пришла тревога: "Мы потеряли часть данных!" 😱
Сначала паника, ребята бегают, ищут кто и что удалил. Система вроде работает, но часть таблиц пустует ⚠️

⚡️ Риск был серьёзный: клиенты могли потерять доступ к важной информации, восстановить её без резервной копии почти нереально.

🔍 Проверка показала: бэкапы, которые настроил предыдущий инженер, ничего толком не сохраняли. Скрипт просто создавал пустые дампы с таймстемпом и писал «успешно».
То есть месяцами все считали, что бэкапы есть, а на деле — фальшивка 👻

🛠 Первым делом сделали "фаст-фикс":
– подняли более старые дампы, которые считались бэкапом;
– восстановили из них базу на тестовом сервере;
– временно отключили проблемный скрипт.

Часть данных всё равно оказалась потеряна, а те что остались — не бэкапировались должным образом. Но быстрое решение сработало — устранив "симптомы" и выиграв время для комплексного решения проблемы.

Итоговое решение:
– переписали скрипты бэкапа;
– настроили хранение копий в двух независимых местах;
– добавили ежедневный мониторинг наличия бэкапов и тестовое восстановление раз в неделю;
– сделали документ с инструкцией и ответственными.

💡 Опыт: бэкап — это не "галочка в CI". Он реально должен работать. Проверяй, восстанавливай, доверяй только проверенным данным.
И да, никогда не останавливайся только на "фаст-фиксах" — не маскируй симптомы, а исправляй ошибки на 100%.

А у вас бывало, что "бэкап" на деле оказался фикцией? 😅

#факап #бэкап #devops #codetogo #itshchen
🔥3👍1💯1
🌀 Петля авторизации

В одном проекте пользователи стали жаловаться: "Мы заходим в систему — и нас сразу выкидывает обратно". Казалось бы, обычный баг, но происходил он не у всех и не всегда 🤯

Сначала мы грешили на браузеры. Проверяли Chrome, Firefox, Edge — у кого-то всё норм, у кого-то авторизация превращалась в бесконечный цикл: логин → редирект → снова логин ⚠️

⚡️ Проблема усугублялась: часть сотрудников просто не могла работать. Начальство нервничало, клиенты злились. Давление росло.

🔍 Разобрали логи: видно, что токен создаётся, но валидация его сразу же рубит. Почему? Оказалось — на одном из серверов время шло "с отставанием" на 7 минут 🕰. Токен, который только что был выдан, этот сервер считал "ещё не действительным".

В итоге пользователь влетал в петлю: один сервер пускает, второй выкидывает.

🛠 Решение:
– синхронизировали время на всех узлах через NTP;
– добавили мониторинг дрифта времени.

После фикса система наконец-то перестала "жевать" пользователей. И да — мы ещё долго вспоминали, что одна маленькая рассинхронизация убила половину логики авторизации 😅

В завершение дополнили решение:
– внесли правило: без синхронизации сервис не стартует;
– сделали тулзу для массовой синхронизации времени и простую инструкцию.

💡 Вывод: время — критичный фактор. Если в распределённой системе часы идут по-разному, никакая логика не спасёт.

А у вас были баги "по часам"? Когда всё ломалось из-за тайминга или синхронизации?

#факап #авторизация #devops #codetogo #itshchen
👍1🔥1💯1