CRDTs (Conflict-Free Replicated Data Types) concept page. Three replicas R1/R2/R3 with three clients hitting nearest replica (no central coordinator, AP system). Anti-entropy gossip mesh between all replicas. Four scenarios: G-Counter element-wise max merge, OR-Set add-wins with tagged elements, RGA concurrent text insert with deterministic tie-break, and LWW pitfall showing how naive last-write-wins loses updates under clock skew. ADR on CRDTs vs Operational Transform.
A state-based CRDT uses a join-semilattice, inflationary local updates, and least-upper-bound merge. Associative, commutative, idempotent join tolerates state reordering and duplication. A delta-state CRDT sends joinable deltas but keeps the same algebra and anti-entropy obligations.
An operation-based CRDT has a different contract: concurrent effectors commute and non-commuting dependencies receive causal delivery. Unique dots and duplicate handling remain explicit. Replica convergence does not prove application invariants such as unique names or nonnegative stock.
state-gcounter): Replica components grow and join by componentwise maximum.duplicate-state): Idempotent join makes repeated state harmless.pn-counter): Counter convergence does not preserve nonnegative inventory.or-set-add-wins): A remove deletes observed tags; an unseen concurrent add survives.operation-causal-delivery): A dependent non-commuting operation waits for its predecessor.duplicate-operation): At-least-once delivery cannot apply one dot twice.tombstone-gc): Compaction waits until old operations cannot reappear.invariant-coordination): Two locally valid reservations can jointly oversell.Введите числа или выберите пресет