Domain Driven Design Of Microservices
Domain driven design ddd advocates modeling based on the reality of business as relevant to your use cases.
Domain driven design of microservices. The layer that the domain belongs to establishes what dependencies the microservices within that domain are allowed to take on. We call this layer design. In summary when you design microservices for an application use the principles of domain driven design to guide you along the way.
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. Microservices is an application architectural style with a clear bounded context interface and dependencies emerged from the domain driven design architectural patterns and devops. We call these domains.
It describes independent problem areas as bounded contexts each bounded context correlates to a microservice and emphasizes a common language to talk about. Establish the bounded context for your team and list your entities repositories value objects and services. 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.
From domain driven design to microservices pairing these two approaches to solve large and complex problems makes good business sense. Domain driven design ddd provides a framework that can get you most of the way to a set of well designed microservices. Ddd has two distinct phases strategic and tactical.
Domain driven design emphasizes that the application is necessary to determine the underlying domain logic of microservices. We further create collections of domains which we call layers. 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.
Instead of orienting around single microservices we oriented around collections of related microservices. In strategic ddd you are defining the large scale structure of the system.