Expand description
Change Data Capture: a durable, ordered, addressable record of every committed write. Producers and consumers are decoupled, so a consumer may fall arbitrarily far behind and catch up later.
Invariant: a CDC record reflects exactly the deltas committed under its transaction id, in the order the engine produced them. Reordering or dropping deltas here desynchronises replicas and subscriptions.
Modules§
- compact
- consume
- Consumer side of the CDC stream. Each subscriber holds its own checkpoint, so a slow consumer never blocks a fast one, and the checkpoint is persisted so a consumer that restarts resumes instead of re-reading. The watermark it advances is what tells the producer side which records are safe to compact.
- error
- produce
- Producer side of the CDC stream: encodes committed deltas into CDC records, persists them, and advances the publisher watermark so consumers can observe the new commit boundary.
- storage
- Pluggable backing store for the CDC log. The in-memory implementation is the testing default; SQLite is the durable default for production deployments. Both implement the same trait surface so the producer and consumer sides are agnostic to which is configured.
- testing