Try It Right Now
Edit the saga definition below and watch the state machine diagram update in real-time. No setup required.
Everything You Need for
Distributed Workflows
Type-Safe DSL
Fluent builder API with full TypeScript inference. Catch errors at compile time, not runtime.
10+ Transports
RabbitMQ, Kafka, SQS, Azure Service Bus, GCP Pub/Sub, Redis, NATS, and in-memory for testing.
8+ Stores
PostgreSQL, MySQL, MongoDB, DynamoDB, Redis, SQLite, SQL Server, and in-memory.
Observability
Built-in OpenTelemetry tracing, Prometheus metrics, and structured logging middleware.
Compensation
Handle failures gracefully with built-in compensation patterns and retry policies.
Framework Agnostic
Works with Express, Fastify, NestJS, Next.js, Hono, or standalone Node.js.
Up and Running
in Minutes
Install the packages, define your saga, wire up your transport and store. That's it.
import { createBus } from '@saga-bus/core';
import { RabbitMQTransport } from '@saga-bus/transport-rabbitmq';
import { PostgresSagaStore } from '@saga-bus/store-postgres';
import { orderSaga } from './sagas/order';
const bus = createBus({
transport: new RabbitMQTransport({
url: process.env.RABBITMQ_URL,
}),
store: new PostgresSagaStore({
connectionString: process.env.DATABASE_URL,
}),
sagas: [{ definition: orderSaga }],
});
await bus.start();
console.log('🚀 Saga worker running');Ready to Build Reliable Workflows?
Join developers building production-grade distributed systems with Saga Bus.