知识卡片

能力聚合层:解决中台单一职责与前台编排需求之间的矛盾

普通读书笔记卡

内容

业务中台完成领域建模和微服务建设后,会汇聚企业大部分核心业务能力,成为企业的”富能力层”;基于业务职责单一原则,每个业务中台只专注自己领域内的业务能力,不关心前台应用具体要如何组合编排这些能力——这种设计能保证中台领域模型不会因为前台业务需求的频繁变化而被牵动,从而维持中台的稳定性。但企业级前台应用往往需要联通多个中台业务板块的能力、按企业级业务流程做组合编排,这就出现了矛盾:中台故意”不关心”前台的编排需求,前台却又天然需要跨中台的能力组合。解法是在前台应用和业务中台之间增加一个能力聚合层,专门负责跨业务中台的服务组合、编排、能力聚合、服务发布和路由,这一层本身也以微服务形式落地,但只做粗粒度的服务编排,不实现具体业务逻辑。这是一个通用的架构设计模式:当”保持下层组件的单一职责和稳定性”与”上层需要灵活组合下层能力”这两个诉求同时存在且互相冲突时,不必强迫下层组件妥协自己的职责边界去迁就上层,而是在两者之间插入一个专门负责编排、自身不承载业务逻辑的中间层来吸收这种组合复杂度。

参考来源

- 位置:第2章《企业中台能力框架》"2.7 能力聚合"(源文件:_epub-src/OEBPS/Text/chapter2-2-7.xhtml) - 结论依据:原文说明"业务中台往往会更专注于本领域的业务能力,而不关心企业级前台应用到底如何进行企业级流程组合和编排……我们在前台应用和业务中台之间增加一个能力聚合层,通过这一层实现跨业务中台的服务组合、编排、能力聚合、服务发布和路由等功能……它的主要职责是完成跨业务中台的服务组合和服务编排,一般不实现具体的业务逻辑",直接支撑本卡片结论。 - 原始内容:我们在前台应用和业务中台之间增加一个能力聚合层,通过这一层实现跨业务中台的服务组合、编排、能力聚合、服务发布和路由等功能……能力聚合层的应用也是以微服务的形式落地,但它的主要职责是完成跨业务中台的服务组合和服务编排,一般不实现具体的业务逻辑。