Цена, которой не существовало: две недели поиска бага, который не видел мониторинг
Есть класс ошибок, которые невозможно найти простой сверкой. Не потому, что данные хорошо спрятаны, а потому, что искомого состояния нет ни в одной системе. Оно собирается на лету из двух правильных половинок, каждая из которых по отдельности абсолютно валидна.Хочу рассказать про случай, где искали причину две недели, но при этом мониторинг всё это время показывал, что всё в порядке, и формально он был прав.Оговорюсь сразу:
Как реализовать CRDT-структуры в Go для офлайн-режима
Привет, Хабр! Сегодня мы поговорим о том, как справиться с синхронизацией данных в офлайн‑режиме так, чтобы не сваливать на пользователя головную боль слияния конфликтов. Вы наверняка замечали, что многие современные приложения — будь то заметки, менеджеры задач или вики‑редакторы — позволяют работать оффлайн на нескольких устройствах, а при подключении к сети автоматически объединяют изменения. Задача разработчика в таком случае сделать максимально гладкую синхронизацию одновременно изменённых данных на разных узлах, ideally без участия пользователя в разрешении конфликтов.

