- Hands-On Microservices with Kotlin
- Juan Antonio Medina Iglesias
- 305字
- 2021-06-30 19:10:44
Using DDD in microservices
Now that we have a clearer understanding of what DDD is, we need to review how we are going to apply it to our microservices. We could start with the following points:
- Bounded Context: We should never create a microservice that includes more than one bounded context: it is better if we can map that whole context to a single microservice, something that indicates that our context is really bounded
- Ubiquitous Language: We need to ensure that the language that our microservice speaks with is ubiquitous, so the operations and interfaces that are exposed are expressed in the context domain language
- Context Model: The model that our microservice uses should be defined within the bounded context and use the ubiquitous language, even for entities that are not exposed in any of the interfaces that the microservices provide
- Context Mapping: Finally, we need to review the context mapping of the whole system to understand the dependencies and coupling of our microservices
After reviewing these points, we will notice that we are in fact fulfilling the main principles defined before. Our microservices are modelled around business capabilities, our context domains, are loosely coupled as our context mapping shows, and have a single responsibility as a bound context should. Microservices that implement a bounded context could easily hide their implementation, and they will be nature isolated, so we could deploy them independently. Having those principles in place will make it easy to build for failure, having scalability and automation. Finally, having a microservice architecture that follows DDD will deliver a clean architecture that any team member could understand.
The ubiquitous language of a well-designed bounded context will make many tasks easy in a microservice life cycle, from working with the domain experts to tests or any tasks for the ops function of our team.
- Mastering JavaScript Functional Programming
- 案例式C語言程序設計
- 工程軟件開發技術基礎
- 潮流:UI設計必修課
- DevOps for Networking
- C# Programming Cookbook
- Java從入門到精通(第5版)
- 深入淺出Windows API程序設計:編程基礎篇
- Web全棧工程師的自我修養
- Quarkus實踐指南:構建新一代的Kubernetes原生Java微服務
- Kali Linux Wireless Penetration Testing Beginner's Guide(Third Edition)
- Serverless架構
- Hands-On Functional Programming with TypeScript
- Web Development with MongoDB and Node(Third Edition)
- UML 基礎與 Rose 建模案例(第3版)