Skip to content

Samples

Most patterns documented under Messaging Patterns have a runnable example under examples/ in the repo. Each example is a standalone tsx-powered script that publishes some messages and exits. A few patterns — competing consumers, content-based routing, and scatter-gather — don’t have their own example directory; they’re illustrated within other examples (for instance, scatter-gather is exercised inside the request-reply example via sendRequestMulti) and in the pattern docs themselves.

Terminal window
examples/
├── docker-compose.yml # RabbitMQ + MongoDB for examples that need them
├── run-all.sh # runs every example in sequence
├── lib/ # shared helpers (connection URLs, logging)
├── publish-subscribe/
├── send/
├── request-reply/
├── polymorphic/
├── saga/
├── aggregator/
├── routing-slip/
├── streaming/
├── filters/
└── telemetry/
Terminal window
cd examples
docker compose up -d
bash run-all.sh

Each example is also runnable individually:

Terminal window
cd examples/request-reply
node --import tsx src/index.ts
ExamplePattern page
publish-subscribePub/Sub
sendPoint-to-Point
request-replyRequest/Reply
polymorphicPolymorphic Messages
sagaProcess Manager
aggregatorAggregator
routing-slipRouting Slip
streamingStreaming
filtersFilters
telemetryObservability