Rabbit Relay

Examples

Every runnable pattern, in order of complexity

The examples/ directory contains runnable examples for every feature. Start RabbitMQ first:

docker compose -f examples/docker-compose.yml up -d

Then run any example:

npx tsx examples/<folder>/<file>.ts

Catalog

ExampleWhat it shows
00-basics/directDirect exchange routing by exact routing key
00-basics/fanoutFanout broadcast to multiple queues
00-basics/topic-microservicesSmall event-driven microservices flow
01-confirmsPublisher confirms vs normal publish
01-confirms/dedupeConsumer-side de-duplication
02-rpcBasic typed request/reply flow
02-rpc-advancedRPC timeouts, slow responders, concurrency, poison messages
03-dlqDead-letter queue basics
04-pluginsCross-cutting plugin hooks for logging, headers, metrics, tracing
05-backpressurePublisher and consumer backpressure
06-retry-dlqImmediate retry followed by DLQ
07-escape-hatchNative amqplib options and raw channel access
08-health-shutdownHealth checks and graceful shutdown
09-developer-experienceHeaders, tracing metadata, middleware, dedupe, size guard, RPC
10-delayed-retryDelayed retry using TTL + DLX
11-lifecycle-hooksBroker lifecycle events
12-opentelemetryOpenTelemetry lifecycle adapter
13-topology-plannerRead-only topology planning with topologyMode: "plan-only"
14-topology-validationValidating a plan against a live broker
15-dlq-redriveCLI redrive from a dead-letter queue
16-topology-modesassert / passive / plan-only side by side
17-idempotent-consumerBuilding idempotent handlers for at-least-once delivery
18-exponential-backoffExponential retry backoff with per-attempt TTL parking
19-exchange-only-producerProducer declares only the exchange (no queue) via public broker.exchange()

On this page