Выбор ответа Senior Офлайн и синхронизация обновлено
CRDT для совместного редактирования
Вопрос
Почему для офлайн-редактирования одной заметки на нескольких устройствах рассматривают CRDT?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: CRDT позволяют применять изменения в любом порядке и сходиться к одному состоянию без арбитра. Conflict-free replicated data types спроектированы так, что операции коммутативны: устройства обмениваются изменениями в любом порядке и приходят к одинаковому результату.
Варианты ответа
- CRDT шифруют изменения при синхронизации, поэтому сервер не видит содержимое заметки
- CRDT позволяют применять изменения в любом порядке и сходиться к одному состоянию без арбитраправильный ответ
- CRDT уменьшают размер базы, храня только последнюю версию заметки вместо истории изменений
- CRDT нужны только для числовых счётчиков, а текст заметки синхронизируют через LWW по времени
Разбор
Conflict-free replicated data types спроектированы так, что операции коммутативны: устройства обмениваются изменениями в любом порядке и приходят к одинаковому результату. Это решает конфликты в списках и тексте без потерь, но ценой сложности и роста метаданных. Готовые библиотеки (Automerge, Yjs) используют в редакторах. Шифрование и размер базы к CRDT не относятся.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «Офлайн и синхронизация»
- Фоновая синхронизация на iOS и Android
- Стратегии разрешения конфликтов
- Принципы offline-first
- Статус синхронизации для пользователя
- Идемпотентность при повторной отправке
- Оптимистичное обновление UI
- Путь офлайн-изменения до сервера
- Очередь исходящих изменений