Strong Eventual Consistency – The Big Idea Behind CRDTs
CRDT — это структуры, которые копируются на разные узлы, редактируются независимо и потом сливаются без конфликтов. Главное не совместные редакторы, а распределённые базы. Тут ключевая идея — Strong Eventual Consistency (SEC).
Обычная eventual-консистентность обещает:
- обновление рано или поздно дойдёт до всех;
- если два узла получили одни и те же обновления, их состояния со временем сольются.
SEC заменяет второй пункт: сольются сразу, как только обновления обработаны. Конфликты разрешаются автоматически и детерминированно.
Плюсы:
- низкая задержка — чтение/запись без согласования;
- живучесть — работает, пока хоть один узел жив;
- офлайн-режим — разрыв сети не беда.
SEC = «eventual, что действительно работает». Для локальных-first и гео-реплицируемых систем альтернативы нет.