consistency
CRDT Counters
PN-Counter (Positive-Negative): each node tracks increments and decrements. Merging is commutative.
Global Counter Value
+0
Σ increments − Σ decrements = 0 − 0 = 0
Node A
+0
+0
increments
−0
decrements
Node B
+0
+0
increments
−0
decrements
Node C
+0
+0
increments
−0
decrements
CRDTs converge without coordination
// operation log
No operations yet
How It Works
- Each node maintains separate inc/dec counters
- Operations are commutative (order doesn't matter)
- Merging: take sum of all increments − sum of all decrements
- Eventual consistency without coordination
Use Cases
- Distributed counters (Redis CRDT, Riak)
- Shopping cart quantities
- Social media likes/reactions
- Collaborative editing metadata