Выбор ответа Senior Офлайн и хранение обновлено
Конфликт офлайн-изменений
Вопрос
Задачу изменили на двух устройствах офлайн, потом оба синхронизировались. Чем опасна стратегия «last write wins» по времени устройства?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Часы устройств расходятся, а изменения проигравшей стороны тихо теряются. LWW проста, но молча выбрасывает одно из изменений, а время клиента ненадёжно: неправильные часы могут «выиграть» у более позднего изменения.
Варианты ответа
- Часы устройств расходятся, а изменения проигравшей стороны тихо теряютсяправильный ответ
- Она всегда приводит к ошибке 409 и требует ручного разрешения конфликта
- Она требует внедрить CRDT на клиенте и сервере, иначе не работает
- Опасности нет: это лучшая стратегия, данные никогда не теряются
Разбор
LWW проста, но молча выбрасывает одно из изменений, а время клиента ненадёжно: неправильные часы могут «выиграть» у более позднего изменения. Надёжнее версии записей или время сервера, слияние по полям, а для совместного редактирования CRDT. Ошибку 409 даёт как раз стратегия с версиями, а CRDT это отдельный подход.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.