Conflict-free Replicated Data Types
This repo contains a few implementations of CRDTs and logical clocks. It also has various resources on the problem of clock synchronization in distributed systems. My goal with this is to learn the properties of CRDTs, Vector Clocks, and other distributed systems concepts by implementing the primitives.
Current status
go test ./...
go test ./... -bench=.
- Conflict Free Replicated Data Type
- A Cmprehensive study of Convergent and Commutative Replicated Data Types
- A CRDT Primer Part I: Defanging Order Theory
- A CRDT Primer Part II: Convergent CRDTs
- CRDTs go brrr
- Verifying Strong Eventual Consistency in Distributed Systems
- Vector Clocks
- Data Laced With History
- Why Logical Clocks Are Easy
- Living Without Atomic Clocks by Cockroach Labs
- Spanner Paper
- Spanner, TrueTime and CAP
- Cockroach Labs's Consistency Models
- Dynamo Paper
- Practical uses of synchronized clocks in distributed systems - Barbara Liskov
- Notes collected from various papers on CRDTs and Eventual Consistency