中台架构与实现:基于DDD和微服务
一、传统架构的弊端
1.1 弊端
- 单体架构的问题
集中式单体应用往往会将多个功能放到一个应用中,经过日积月累,这个应用就会变成一个庞大而复杂的“怪物”。随着项目团队成员的更替,时间一长就很少有人能完全搞懂这些代码之间的逻辑关系了。这样会导致应用越来越庞大,越来越复杂,可读性越来越差,最终陷入恶性循环。
单体应用还存在诸多问题。由于单体应用的各个模块之间耦合度高,很可能因为一个局部的小Bug,而导致整个单体应用不可用。另外,单体应用部署包过于庞大,难以上云实现资源的弹性扩缩,导致应用扩展能力差且资源利用率不高。
-
研发运维能力滞后
传统开发模式的弊端在于开发和测试周期耗时长,交付质量和周期难以保证,不能实现持续快速交付,对业务需求和市场的响应能力相对较慢,难以实施敏捷开发。 -
IT能力重复建设的问题
1.2 AKF可扩展能力立方体模型

Y轴关注应用的业务职责划分,如根据数据类型、交易类型或根据两者组合来划分业务和应用边界,在划分过程中会遵循单一职责原则。Y轴主要用于划分业务和应用边界,解决业务能力复用的问题。
Y轴的典型实践案例是从单体向微服务的演进。这个过程会有业务和应用边界拆分的问题。但是在单体拆分为微服务时经常会有人问:单体到底应该如何拆分为微服务?是否有成熟的方法来完成应用和业务边界的划分呢?
DDD(Domain Driven Design,领域驱动设计)方法就是一种行之有效的划分业务领域边界的方法,以帮助完成应用的拆分和微服务的设计。它会按照流程或功能边界分解业务领域,根据业务上下文边界,构建领域模型,并将其作为微服务设计的输入。
二、何为中台
LIKECAT
一条小咸鱼