What problem does it solve?
Messaging and workflow orchestration help you decouple services and reliably process events over time instead of relying on fragile, tightly coupled request/response calls that fail under load.
Core Features & Use Cases
- NATS Pub/Sub and Streaming (JetStream): Use subjects, wildcard subscriptions, queue groups, and JetStream persistence for event delivery and replayable streams (e.g., orders.created → order processors).
- Request/Reply for service interactions: Implement synchronous-feeling RPC semantics over NATS for lightweight service pings and queries.
- Temporal durable workflows and activities: Model long-running processes with retries, task queues, signals, and queries (e.g., order fulfillment spanning payment, email, and shipping).
- Event-driven architecture patterns: Apply event sourcing, CQRS, and saga/compensation flows to keep state consistent across distributed systems.
Quick Start
Set up NATS pub/sub and start a Temporal workflow for order processing by following the NATS commands to publish events and then the Temporal CLI to start and query the workflow for an order id like "order-123".