API Provider
A backend service that exposes an HTTP/gRPC/GraphQL API and owns its own data. No outbound calls to other services in your control.
2 minute read
Each page in this subsection covers one component pattern. The structure is the same on every page so you can scan-compare:
These are recommended starting points, not exhaustive lists or required gates. Real components have details these pages don’t capture; ignore items that don’t apply, and add items the pattern doesn’t mention but your component clearly needs. The goal is to prompt the conversation, not to constrain it.
API provider, API consumer, scheduled job, and user interface are covered in depth. Event consumer, event producer, CLI/library, and stateful service are deliberately briefer sketches: the same six principles apply, the same checklist still prompts useful questions, and the test double validation model is the same. Use the briefer sketches as a starting point and expand the depth in your own runbooks for the patterns your services actually use.
A backend service that exposes an HTTP/gRPC/GraphQL API and owns its own data. No outbound calls to other services in your control.
An API provider that also consumes one or more upstream APIs. The most failure-prone pattern in distributed systems and the one that gets the most testing attention.
A service triggered on a cron, queue, or external scheduler. Reads from data sources, writes reports or updates state.
A UI that renders data and accepts user interaction. Talks to one or more backend APIs.
A service that consumes messages from a broker (Kafka, SQS, RabbitMQ, Pub/Sub). Brief sketch.
A service that produces messages to a broker. Often paired with the event consumer pattern in the same service. Brief sketch.
A binary or package consumed by other developers. The public interface is the CLI invocation surface or the library’s exported API. Brief sketch.
A service that maintains long-lived in-memory state: caches, in-memory aggregates, leader-elected coordinators, websocket gateways, real-time engines. Brief sketch.