CRDT — Koder Conflict-free Replicated Data Types
- Area: Data Platform
- Path:
data/crdt - Kind: Rust library — primitives for multi-cluster replication
Role in the stack
Provides low-level CRDT primitives (G-Counter, LWW-Register, OR-Set, Vector Clock) used by KDB and any Koder service that needs eventual-consistency guarantees across multiple data centers or edge nodes. Designed as a pure library — no server, no network layer. Consumers embed it directly.
Primary couplings
| Consumer | Relationship |
|---|---|
data/kdb |
kdb-next uses CRDT primitives for multi-cluster state convergence |
data/mq |
Message queue uses OR-Set for at-least-once delivery deduplication |
| Future distributed services | Any Koder service needing multi-region replication |
Interfaces
- Rust crate
koder-crdt— imported as workspace dependency - Implements
serde::Serialize/Deserializefor Protobuf/JSON interchange viaprost - All types implement
Mergetrait for commutative, associative, idempotent merges
Status
v0.1.0 — G-Counter, LWW-Register, OR-Set, Vector Clock implemented. In active use by kdb-next.