Patterns · 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?
Define service boundaries by aligning each service with a distinct business capability — a stable set of things the business does to generate value.
Apply Domain-Driven Design (DDD) to decompose the system by bounded contexts and subdomains, establishing precise boundaries with a ubiquitous language.
Design services to handle requests without synchronous collaboration with other services, using local data replicas and asynchronous communication for high availability.