架构金字塔


prtyaa
prtyaa 2023-12-25 13:42:39 67050
分类专栏: 资讯

最近在思考于如何更好的设计系统架构,以及如何对系统的架构进行守护。对于这个问题来说,我想到的第一步是:分解大泥球。于是乎,问题的第一步就是,分解架构设计的所有概念。第一个产物便是:架构金字塔。虽然不是非常合适,勉强用这个名称吧。

架构金字塔,即把软件架构按照不同的粒度进行分组。通过分组的细分,我们能有针对性地对系统架构,进行更好的管理和设计。

架构金字塔

一个软件系统是由一系列的应用组成的,而一个应用则由一系列的模块组成,进一步的模块是由代码组成的。举个示例,一个现代的系统是由一系列的后端服务、客户端应用组成的;拆解开一个微服务,则是由一系列的模块组成的……。

结合康威定律,对于复杂的软件系统来说,其组织结构需要与架构模式对齐。因此,我们可以看到对于大型系统来说,它的组织模式是以类似的方式展现。不同层级的人员,需要对不同的分组负责、守护,因此便有了:

  • 某一应用中的某一部分的核心开发人员(关注于代码级别的守护)
  • 某一应用的核心设计者(关注于模块间守护)
  • 系统的核心实施者(关注于应用间的守护)
  • 系统的核心架构师(关注于系统的设计)

在《前端架构:从入门到微前端》一书中,我们提出了设计架构时所需要的层次要素,便有了架构金字塔。

 

 

 

架构层级

为此,我们划定了架构的四个层级 + 基础设施层:

  • 系统级,即整个系统内各部分的关系,诸如于如何通讯,以及如何与第三方系统如何集成等。
  • 应用级,即单个应用的整体架构,及其与系统内单个应用的关系等。
  • 模块级,即应用内部的模块架构,如代码的模块化、数据和状态的管理等。
  • 代码级,即从代码级别保障架构实施。

:图中的服务导向架构出自于《演进式架构》,包含了 SOA、微服务架构及基于服务的架构等;而聚合导向架构指的则是客户端的架构模式,客户端以聚合来展示一致性,诸如前端领域的微前端、移动应用的插件化等。

这种架构模式,特定符合我们日常设计架构的特点:先自顶向下设计,再自底向上实践(适应)。这部分的详细内容可以见:构建质量可信的软件系统 ( phodal.com/blog/build-t )

战略设计与战术设计

于是乎,基于架构金字塔,我们有了系统架构的战略设计与战术设计的完美结合(来源于 DDD 的设计思想)。便有了基于演进式架构的架构设计的模式:

在上图中:

  • 战略设计,在组织架构下,借鉴于演进式架构的三大原则,我们有了指导架构设计的三大思想:适应度函数、增量变更、架构耦合。它用于指导架构师如何进行系统架构设计。
  • 战略实施,结合组织环境与人员能力,挑选、设计出基本的系统架构模式。诸如于系统的架构模式、部署流水线、持续交付等。
  • 战术设计,挑高、设计出适合于应用、模块级别的技术设计方案。诸如于采用领域驱动设计(DDD)的思想,来驱动出更好的系统架构。
  • 战术实施,对系统进行最后的设计,选择适合于组织的技术实施方案与协作方式。

其与架构金字塔的对应关系:

  • 战略设计 <-> 架构原则
  • 战略实施 <-> 系统级架构
  • 战术设计 <-> 应用级、模块级架构
  • 战术实施 <-> 代码级架构

你说呢?

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=30303
赞同 0
评论 0 条
prtyaaL0
粉丝 1 发表 2554 + 关注 私信
上周热门
银河麒麟添加网络打印机时,出现“client-error-not-possible”错误提示  1448
银河麒麟打印带有图像的文档时出错  1365
银河麒麟添加打印机时,出现“server-error-internal-error”  1151
统信桌面专业版【如何查询系统安装时间】  1073
统信操作系统各版本介绍  1070
统信桌面专业版【全盘安装UOS系统】介绍  1028
麒麟系统也能完整体验微信啦!  984
统信【启动盘制作工具】使用介绍  627
统信桌面专业版【一个U盘做多个系统启动盘】的方法  575
信刻全自动档案蓝光光盘检测一体机  484
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

添加我为好友,拉您入交流群!

请使用微信扫一扫!