Patterns

Proven shapes for building Benzene services — and whole systems of them — out of the same few parts: topics, message handlers, the middleware pipeline, results, and per-invocation scopes (defined in core-concepts.md). Patterns aren't part of the normative specification, and they aren't tied to a language: each one reads the same in .NET, Go, TypeScript, or Python.

Each pattern explains the idea and when to reach for it. The exact API — the package, the attribute, the registration call — lives in each port's own docs; where a pattern shows a concrete call it is marked (informative, .NET), and the shape, not the syntax, is the point.

Two scales of pattern:

Composing one service — the shapes a single Benzene service is built from:

Composing a system — how to arrange many services into an estate:

At enterprise scale — high-volume, real-time, and audit-heavy workloads, with worked examples of the kind of systems large enterprises ask to have designed: