Search
Write a publication
Pull to refresh

Comments 5

Подскажите пожалуйста, где можно подробнее почитать про CRDT?

Просто не до конца понимаю, допустим у нас есть онлайн блокнот (по типу яндексового где собеседования проводят)

И допустим в одной комнате сидят 10 человек с разных устройств и одновременно что-то печатают. Не совсем понимаю как между 10-ю устройствами будет происходить синхронизация

Если мы хотим работать в онлайн режиме через простой блокнот, то это сложно будет реализовать таким способом, поэтому всякие google doc и прочие текстовые редакторы работают через ОТ. В простейшем случае можно представить CRDT как гарантию того, что мы можем разбить объект на такие независимые части, что изменение одной не повлияет на изменение другой. В моем проекте был текстовый редактор, который под капотом работает с немного кастомизированным html. Мы представили каждый элемент dom дерева в нем как независимый элемент и присвоили id. Таким образом, получалось дерево условно независимых объектов.

Тут идеально бы зашёл $mol с использованием crusdb

Там тоже используется crdt

Не очень понял задумку. На уровне бэкенда действительно много готовых решений, библиотек и специализрованых баз данных, но мы не можем перенести эту логику на бэк, тк это приведет к рассинхрону фронтовому. То есть, пока мы будем готовить данные для клиента 1 от клиента 2, клиент 1 уже успеет внести ряд изменений. И тогда проблема становится многослойной. В данном случае конфликты необходимо решать "на месте".

$mol это фронтенд фреймворк

С базой данных под капотом и офлайн first и crdt

То есть данные не потеряете, и они синхронизируются

Будет работать для любого N пользователей

Sign up to leave a comment.

Articles