你好,我是欧创新,人保高级架构师,一名奋斗在软件架构一线十余年的技术人。
目前热衷于采用领域驱动设计(DDD)实现中台业务建模,专注基于 DDD 的微服务设计和开发等。另外,我也正在深入探索传统企业中台数字化转型的技术和方法体系。很高兴在这个专栏和你见面!
我与 DDD
说起 DDD 的实践,那就不得不提微服务了。2015 年,我刚开始接触微服务,那时候和别人去介绍微服务的设计理念,接受度并不高,毕竟大家普遍采用的还是集中式架构。
但即便是在四年前,业务的日渐复杂也是可以预见的,微服务的价值确确实实存在。我就从那个时候开始深入研究,作为公司的高级架构师,我也一直处于公司中台转型和微服务建设的一线。

这个过程中,我和我的技术团队踩过不少坑,最尖锐的一个问题是:“微服务到底怎么拆分和设计才算合理,拆多小才叫微服务?”而微服务的边界历来也是最容易产生争议的地方。

紧接着,阿里巴巴成功完成了中台战略转型。于是,很多大型公司也开启了中台数字化战略转型,中型公司也根据自身需求跃跃欲试。但也有很多公司由于历史原因,存在着大量系统重复建设的问题。

作为中台,需要将通用的可复用的业务能力沉淀到中台业务模型,实现企业级能力复用。因此中台面临的首要问题就是中台领域模型的重构。而中台落地时,依然会面临微服务设计和拆分的问题。这两个问题一前一后,放在任何一家公司,我想都是一个不小的挑战。

这也是我一直在探索和解决的问题。这两年,中台越来越火,微服务越来越热,参与的人越来越多。那是否有好的方法来指导中台和微服务的设计呢?

一次偶然的机会我接触到了 DDD,深入研究后,我发现,运用 DDD 设计思想实现的微服务边界确实清晰很多,业务领域划分也十分合理。后来,我和我的伙伴们用 DDD 做了很多的微服务实践。

我认为,要想应用 DDD,首要任务就是要吃透 DDD 的核心设计思想,搞清楚 DDD微服务中台之间的关系。中台本质是业务模型,微服务是业务模型的系统落地,DDD 是一种设计思想,它可以同时指导中台业务建模和微服务设计,它们之间就是这样的一个铁三角关系。DDD 强调领域模型和微服务设计的一体性,先有领域模型然后才有微服务,而不是脱离领域模型来谈微服务设计。

其次,就是通过战略设计,建立领域模型,划分微服务边界。这步是关键,你可以借助专栏中的一些经验。

最后,通过战术设计,我们会从领域模型转向微服务设计和落地。此时,边界清晰、可持续演进的微服务架构雏形就在你面前了。

作者:Ddd4j  创建时间:2023-10-17 21:08
最后编辑:Ddd4j  更新时间:2025-12-15 13:14