После перехода на новую базу всё казалось стабильным… пока не начали появляться странности:
— статусы то обновляются, то откатываются назад,
— операции «пропадают»,
— два сервиса показывают разный результат на один и тот же запрос.
Первой версией было «что-то с очередью». Потом — «кэш обновляется не вовремя».
Но настоящая проблема оказалась глубже.
🔍 Что случилось:
Два независимых сервиса после миграции начали генерировать идентификаторы по одному и тому же алгоритму.
ID стали пересекаться → и часть событий система просто отбрасывала как «дубликаты».
Для пользователя — хаос.
Для аналитики — мусор.
Для поддержки — магия чёрного ящика.
👀 Почему так произошло:
— Нет централизованного механизма генерации ID
— Не было нагрузочных тестов, которые проверяют коллизии при параллельной работе
— Миграция прошла формально: архитектурные предположения не пересмотрели
Идеальная демонстрация того, как маленькая деталь ломает целую цепочку сервисов 📌
❓ А вы проверяете уникальность ID под нагрузкой:
👍 — Да, есть dedicated тесты
❤️ — Иногда, только в критичных потоках
😁 — Хм… теперь задумался
🐸 Библиотека тестировщика
#разбор_полетов