知识卡片
应用架构的核心是编排,而非单纯的拆分或整合
内容
用经济产业链类比业务/应用/数据/技术四类架构:业务架构相当于对产业链中的产业分类、梳理每类下的产品;数据架构相当于梳理产业链中的生产要素及其分布流转;技术架构相当于运用数学、通信等基础技术(安全架构则扮演安保角色);应用架构相当于产品或服务的生产体系,由国家和企业作为参与者共同合作生产出最终产品。这个生产体系有两个显著特征:极致的分工(整条产业链上下游涉及众多企业,每个企业专注自己领域的事务,企业内部也形成层次化的分工系统)与高效的协作(很少有国家或企业能垄断整条供应链,分工解决效率问题,只有协作才能真正产出最终产品)。分工和协作都只是这个体系的一部分,二者构成的整体才能真正发挥作用——通过编排来实现整个体系的低成本和高效率。这解释了为什么应用架构的核心不应该是”应用拆分”(很多定义把应用架构简单描述为应用功能布局和应用间交互关系):拆分和整合都只是编排的手段,应用架构真正的核心问题是编排能力——目的是实现各个应用的协同,最终以低成本、高效率的方式把软件系统落地,而不是”拆得越细越好”或”整合得越大越好”这种单一维度的追求。可迁移启发:评审一份应用架构方案时,与其问”这样拆分对不对”,不如先问”这套拆分方案背后的编排目标是什么、协同效果如何”——脱离编排目标单独评判拆分粒度,很容易陷入”越细越微服务化就越先进”这类没有意义的争论。
结构图:
flowchart TB
P["经济产业链类比"]
P --> B["业务架构=产业分类"]
P --> D["数据架构=生产要素梳理"]
P --> T["技术架构=基础技术运用"]
P --> A["应用架构=产品/服务生产体系"]
A --> F["特征1:极致分工<br/>(上下游各司其职,内部层次化)"]
A --> C["特征2:高效协作<br/>(无一方能垄断全供应链)"]
F --> E["应用架构的核心=编排<br/>(拆分/整合只是手段,目标是低成本高效协同)"]
C --> E
参考来源
- 位置:《架构师启示录:知识模型、落地方法与思维模式》第7章《架构设计》之"7.1.1 应用架构的核心关注点"(源文件:_epub-src/EPUB/xhtml/chapter11.xhtml)
- 结论依据:原文说明"不论是分工还是协作都只是代表了体系中的一部分,它们构成的整体才能起作用,即通过架构的编排来实现整个体系的低成本和高效率……所以仅有应用拆分或整合都不足以实现成功的应用架构设计。应用架构真正的核心应当是编排能力,而拆分和整合只是其中的手段而已", 直接支撑本卡关于应用架构核心是编排的结构图。
- 原始内容:应用架构的编排旨在实现各个应用的协同,最终实现低成本、高效率的软件系统落地。