Messaging
Model event-driven systems with append-only topics and reactive subscriptions.
What it is
Messaging provides durable topic streams plus consumer semantics for fan-out processing, replay, and backpressure-aware handling.
When to use it
- Event-driven architectures with multiple independent consumers.
- Pipelines that require replay or sequence-aware processing.
- Systems needing bounded logs, compaction, and topic-level isolation.
When not to use it
- Tight DAG orchestration where step dependencies are primary.
- In-memory local state updates without message semantics.
Core primitives
topic()for append-only streams.subscription()for tracked consumers and offsets.repeatPublish()for retries/re-delivery workflows.jobFlow()when stream processing and job semantics overlap.
Typical usage flow
- Define a
topicfor your domain events. - Create one or more
subscriptionconsumers. - Process and commit messages, or retry with policies.
- Monitor stream growth and consumer lag through companion stores.