← 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.