Hexeract is a six-dimension Rust messaging framework: Mediator, Bus, Outbox, Sagas, Scheduler, Request/Reply (Sagas is on the roadmap; Request/Reply is implemented and pending release). This index points at the documentation for the current codebase (v0.6.0).
| If you want to | Read |
|---|---|
| Dispatch commands, queries and notifications in process | Mediator quick start |
| Persist outgoing events transactionally with PostgreSQL, MySQL or SQLite | Outbox quick start |
| Publish and consume messages on RabbitMQ | Bus quick start |
| Schedule delayed or recurring messages | Scheduler quick start |
| Migrate an existing project from v0.6.0 to v0.7.0 | Migration v0.6 to v0.7 |
| Migrate an existing project from v0.5.0 to v0.6.0 | Migration v0.5 to v0.6 |
| Migrate an existing project from v0.4.0 to v0.5.0 | Migration v0.4 to v0.5 |
| Migrate an existing project from v0.3.0 to v0.4.0 | Migration v0.3 to v0.4 |
| Migrate an existing project from v0.1.0 to v0.2.0 | Migration v0.1 to v0.2 |
| Operate Hexeract services in production | Production checklist |
If you come from the .NET ecosystem, these guides map your existing concepts onto Hexeract:
Visual overview of the building blocks and the flows they implement.
- Workspace overview (crate dependency graph and roles)
- Mediator flow (registry, dispatch sequence, fan-out fail-safe)
- Outbox flow (business transaction → envelope → worker → handler)
- Bus flow (publish → AMQP → consume → ack)
- Scheduler flow (schedule -> store -> worker -> sink, reschedule or dead-letter)
- RPC protocol (wire version 1: addressing, reserved headers, error categories, version rules)
One file per cross-cutting concept the API exposes.
- Message and envelope
- Mediator CQRS semantics (
Command,Query,Notificationcontracts) - Middleware pipeline (onion order,
Next,Terminal, built-ins) - The
#[handler]macro (auto-discovery viainventory) - Outbox pattern
- Topology types (
Exchange,Queue,Binding,RoutingKey) - Worker lifecycle
- Ack modes (
Manual,AckOnReceive,Unacknowledged) - SQLite outbox concurrency (single-writer model, backend choice)
- Retry policy and dead-letter routing
- Correlation ID propagation
- Scheduler triggers (one-shot delay and cron-style recurrence)
- Scheduler delivery (lease, retry, jitter, dead-letter)
- Request-reply (
RequestClient,RequestHandler, request registry, reply inbox lifecycle)
Recipes for the most common wirings.
- Wire tracing and timeout around every dispatch
- Telescope outbox inside a mediator command handler
- A handler that holds state (DB pool, configuration)
- Fan out a domain event to multiple subscribers
- Catch missing handler wirings in CI
Stable artefacts that operators reach for.
hexeract-coreAPIhexeract-mediatorAPIhexeract-middlewareAPIhexeract-macrosAPIhexeract-outboxAPIhexeract-outbox-sqlAPI (PostgreSQL, MySQL, SQLite onsqlx)hexeract-outbox-postgresmigration (removed in 0.5.0, redirect tohexeract-outbox-sql)hexeract-busAPIhexeract-bus-rabbitmqAPIhexeract-schedulerAPIhexeract-scheduler-sqlAPI (PostgreSQL, MySQL, SQLite onsqlx)- Outbox PostgreSQL schema
hexeractCLI
How to run Hexeract services after the SDK leaves your hands.
- Production checklist
- Observability
- Troubleshooting
- Migration v0.6 to v0.7
- Migration v0.5 to v0.6
- Migration v0.4 to v0.5
- Migration v0.3 to v0.4
- Migration v0.1 to v0.2
Records of the structuring decisions taken along the way.
Stable contracts that contributors and operators rely on.