DDD 是个何许人也
微服务设计为什么要选择 DDD?
这个问题是对于架构设计或者是项目组成期间就会提到的问题,
领域驱动设计(英语:Domain-driven design,缩写 DDD)是一种通过将实现连接到持续进化的模型来满足复杂需求的软件开发方法。
软件的架构模式大概
从单机架构,(c/s)面向过程的设计方法
集中式架构(三层架构,业务接入层,逻辑层,数据访问层)
分布式微服务架构(容易可复用以及伸缩性的使用,减少部署运营的)
DDD 到底是什么?
DDD 不是架构,更是一种架构设计方法,通过业务边界划分 业务领域和应用边界,着重于微服务的拆分和设计
包括战略设计和战术设计两部分
完成的是领域的建模和微服务的设计以及拆分工作
DDD,中台,微服务的关系
三者从字面意思看,基本是风马牛不相及的产物,中台诞生于中国的阿里巴巴
中台是抽象出来的业务模型(中间产物)
微服务是业务模型的系统实现
DDD 就可以指导中台和微服务的建设,更好的落地和实现
DDD 既可以指导中台建设抽象的业务模型,也可以拆分微服务进行建设
DDD 的本质:
研究解决业务问题时候,按照规则将业务领域进行细分,细分之后将领域中问题限制在内,里面构建领域模型从而用代码实现领域模型,解决领域内发现的问题,以及建设
领域可以切分为子领域,子子领域一直切分根据领域的不同,我们可以区分为
核心子领域
支撑子领域
通用子领域
各个领域肯定有相辅相成的关系,进行系统的实现和落地,从而我们扩展到微服务下,将微服务可以进行具体的划分,高内聚,低耦合的方法
版权声明: 本文为 InfoQ 作者【卢卡多多】的原创文章。
原文链接:【http://xie.infoq.cn/article/d96c5c95c4728c207b71d71d9】。文章转载请联系作者。
评论