Skip to content
← All concepts

Reliability & correctness

Microservices

Split a system into small services, each owning one domain and its own data.

Each service (users, orders, payments …) is deployed and scaled independently and communicates over APIs or events. This lets teams move independently and scale hot paths separately.

See it in action

Step through the scenarios on the diagram.

Laying out diagram…

1/6The client calls one public API.

Client
— One API for the outside world
API gateway
— Routes to services
Order service
— Owns orders
Payment service
— Owns payments
User service
— Owns users
Orders DB
— Only the order service touches it
Payments DB
— Only the payment service touches it
Event stream
— Services announce what happened

How it works

  • An API gateway routes external calls; services talk via gRPC/REST and events.
  • Each service owns its database — no shared tables.
  • Timeouts, retries and circuit breakers prevent cascading failures.

Trade-offs

  • Network calls, partial failures and distributed transactions (sagas) become everyday problems.
  • Small teams often do better with a well-structured monolith first.

Seen in

Components involved

Related concepts