Domain Driven Design Of Microservices
Ddd has two distinct phases strategic and tactical.
Domain driven design of microservices. The user interface is important to consider when designing speciļ¬c web apis for the ui when using the backends for frontends bff pattern 1. It describes independent problem areas as bounded contexts each bounded context correlates to a microservice and emphasizes a common language to talk about. From domain driven design to microservices pairing these two approaches to solve large and complex problems makes good business sense. We call these domains.
Domain driven design ddd advocates modeling based on the reality of business as relevant to your use cases. Domain driven design ddd is a key and in our opinion a necessary tool when designing microservices be it breaking a monolith or implementing a greenfield project. In strategic ddd you are defining the large scale structure of the system. The layer that the domain belongs to establishes what dependencies the microservices within that domain are allowed to take on.
Instead of orienting around single microservices we oriented around collections of related microservices. In the context of building applications ddd talks about problems as domains. In summary when you design microservices for an application use the principles of domain driven design to guide you along the way. We further create collections of domains which we call layers.
Domain driven design emphasizes that the application is necessary to determine the underlying domain logic of microservices. We call this layer design. Microservices and domain driven design ddd are not only about bounded contexts although a fundamental tool for defining granularity of microservices there are other important concepts as well. Then use what you learned to define and design your microservices.
Microservices is an application architectural style with a clear bounded context interface and dependencies emerged from the domain driven design architectural patterns and devops.