- 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.
- Advanced Machine Learning with Python
- Building a RESTful Web Service with Spring
- 少年輕松趣編程:用Scratch創作自己的小游戲
- Vue.js快跑:構建觸手可及的高性能Web應用
- OpenCV 3和Qt5計算機視覺應用開發
- Python金融數據分析
- Raspberry Pi 2 Server Essentials
- Python機器學習編程與實戰
- C語言實驗指導及習題解析
- Android玩家必備
- Essential C++(中文版)
- 零基礎學Python編程(少兒趣味版)
- SQL Server 入門很輕松(微課超值版)
- Arduino機器人系統設計及開發
- Python Deep Learning