Patterns · Decomposition

Decomposition

Strategies for defining the boundaries of microservices. The fundamental challenge of microservices is decomposition: how large should each service be and where should the boundaries lie?

Decompose by Business Capability

Define service boundaries by aligning each service with a distinct business capability — a stable set of things the business does to generate value.

Decompose by Subdomain

Apply Domain-Driven Design (DDD) to decompose the system by bounded contexts and subdomains, establishing precise boundaries with a ubiquitous language.

Self-contained Service

Design services to handle requests without synchronous collaboration with other services, using local data replicas and asynchronous communication for high availability.