Benzene documentation
Benzene gives every transport what a modern web framework gives HTTP — a middleware pipeline, per-request scoping, and handlers you can test. An HTTP request, an SQS message, and a Kafka event are fundamentally different things, and normally that means building a different service for each. With Benzene you write one handler and reach it over all of them at once — you add a transport in the host wiring, never in your logic.
Benzene is pre-1.0 — packages are published as prerelease, and the docs mark anything partial or planned as such.
Pick your language
Benzene is one design with an idiomatic implementation per language, so the concepts below are the same whichever you choose.
.NET reference
Build your first service, host it, test it without the cloud, and run it in production — in .NET.
Go
Build your first service, host it, test it without the cloud, and run it in production — in Go.
TypeScript
Build your first service, host it, test it without the cloud, and run it in production — in TypeScript.
Python
Build your first service, host it, test it without the cloud, and run it in production — in Python.
Guides
Language-neutral guides to Benzene's concepts and tooling, true for every port. Start with the overview →
Patterns
Recurring ways of composing Benzene's core building blocks into services, the same shape in every language. Start with the overview →
- CQRS and Read Models
- Composing a service from the core
- Core Services
- Event Sourcing
- Event-Driven Choreography
- Map-Reduce & High-Volume Compute
- Orchestrators
- Real-Time Stream Processing
- Reference Solution: A Real-Time Risk & Trading Platform
- Service Communication
- The Modular Monolith, and the Road Out of It
- The Transactional Outbox
- The Two-Tier Microservice Architecture
The specification
You don't need this to build a service. Benzene is defined by a language-neutral specification — concepts, wire contracts, transport bindings, and conformance fixtures — that every language port implements. Read it if you're porting Benzene to a new language, verifying conformance, or you want the normative detail behind something in the guides. Start with the overview →
- Benzene Cloud Service Profile
- Benzene Specifications (Draft)
- Conformance Fixtures
- Contract Document
- Core Concepts
- Design Principles: Opinionated but Optional
- Mesh Contracts
- Payload Schema Versioning
- Port Quality Standards — Definition of Done for Language Ports
- Porting Guide
- Transport Bindings
- Wire Contracts