Breeze Event Bus + Workflow: orchestration without the boilerplate

Breeze Event Bus + Workflow: orchestration without the boilerplate

One thing I kept seeing in backend projects:

You start with a simple event bus.

Then come retries.
Timeouts.
Cancellation.
Dependencies between events.
Compensation.
Idempotency.
Observability.

And suddenly, your “simple” event-driven system needs a lot of glue code.

That’s why I built Event Bus + Workflow into Breeze.

The Event Bus handles decoupled communication.

The Workflow engine builds on top of it to handle real orchestration:

→ DAG-based workflows
→ Deterministic topological execution
→ Retries with exponential backoff + jitter
→ Timeouts & cancellation
→ Panic recovery
→ Conditional steps
→ Typed payloads
→ Shared metadata
→ Idempotency keys
→ Saga-style compensation
→ Observability

The goal isn’t to replace Kafka, NATS, RabbitMQ, or other messaging infrastructure.

It’s to make the application code around them dramatically simpler.

You should be able to describe what your workflow does, instead of spending your time wiring every edge case around it.

Breeze is moving toward becoming more than an HTTP framework.

It’s becoming a practical foundation for building distributed Go applications.

GitHub: GitHub - nelthaarion/breeze: Breeze — High-Performance Golang Web Framework · GitHub

Would you build workflows this way in Go?