DDD—微服务,中台建设为什么需要领域驱动设计

一、AKF拓展立方体    
    中台本质上是企业的业务模型,中台领域模型落地时需要架构的支撑。
    无论是最早的阿里巴巴中台战略的落地,还是其他企业的实施方案来看,目前中台落地的技术手段和架构,最佳实践就是微服务架构,微服务架构有利于服务的拆分和拓展,以支持日益增长的业务需求,《架构真经》的书里提出了微服务的AKF拓展立方体。

 

 

    现代社会的经济,建立在可扩展可伸缩的基础架构之上,尤其是互联网经济,只有达到一定规模后才能盈利,如此便要求系统是可扩展,可伸缩的
 X轴:水平复制微服务实例
 Z轴:将微服务实例分区,即可以划分区域(北京,上海)实现拓展
 Y轴:将微服务以功能模块的形式进行拆分
 其中,X,Z轴的实现是已有成熟可靠的方案,但没有解决日益增长的开发和业务的复杂性,Y轴就是为解决业务复杂性而生,通过领域建模,划分不同业务领域的界限,形成各自独立的微服务能力,但Y轴如何按照功能模块进行拆分,一直没有一个清晰的界限和方法论,而领域驱动设计的方法论,可以很好的解决这个问题。
 
二、微服务为什么需要DDD?
    微服务架构将服务作为模块化的单元,模块化是功能分解的基础,所有形式的模块化要大体遵循如下两个原则:
    1、小而专注,功能内聚——按业务边界来确定服务的边界
    2、自治性——避免多个服务相互依赖,一起部署,有自己独立的数据库等
    大多数人对微服务的理解还停留分解上,停留在容器技术的发展带来了服务拆分上
    《微服务架构设计模式》的书作者Chris Richardson告诉我们,微服务的本质是服务的分解和定义,微服务架构告诉我们应该按业务边界去定义服务的边界,但是没有告诉我们如何识别和定义业务边界
    DDD诞生于2003年Eric Evans出版的《领域驱动设计》,DDD的核心思想是从业务视角出发,根据限界上下文边界划分业务的领域边界,定义领域模型,确定业务边界。在微服务落地时,建立业务领域模型与微服务代码模型的映射关系,从而保证业务架构与微服务系统架构的一致性。
 
  

 参考书籍 ——《基于DDD和微服务的中台架构与实现》欧创新、邓頔
 参考书籍 ——《领域驱动设计》Eric Evans
 参考书籍 ——《架构真经》Martin L. Abbott

posted @ 2021-05-28 11:14  纪煜楷  阅读(920)  评论(0编辑  收藏  举报