Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Use cases

Each page starts from a problem, shows one working solution with mq-bridge, and says where it stops working. Every page has a runnable example in the repository’s examples/ directory that CI executes.

ProblemSolutionExample
A RAG or semantic-search index drifts from the Postgres rows it was built fromKeep a vector index in sync with Postgres: CDC → embeddings API → Qdrant, with backfill and deletespostgres-cdc-to-qdrant
A service must update its database and publish an event, and the two writes can divergeTransactional outbox with Postgres and Kafka: relay an outbox table from the WALtransactional-outbox
Tests for Kafka, NATS or RabbitMQ consumers need a running broker or mock the clientTest message handlers without a broker: swap the transport for an in-memory endpointtest-without-a-broker

Every page has the same sections: the problem, the solution with a diagram and configuration, a runnable example, failure semantics (restarts, duplicates, deletes, an unavailable sink), when not to use mq-bridge, and a comparison with alternatives.

Related recipes elsewhere in this book: query a stream in DuckDB, Postgres CDC to a file, cross-process IPC.