知识卡片

物理架构的三个核心设计任务:开销与争用

普通读书笔记卡

内容

物理架构关注”目标程序及其依赖的运行库和系统软件”最终如何安装、烧写或部署到物理机器,以及如何部署机器和网络来配合系统的可靠性、可伸缩性等要求——它和运行架构的关系是:运行架构关注目标程序的动态执行情况,物理架构关注目标程序的静态位置问题,同时还要考虑软件系统和整个IT系统(含硬件)之间如何相互影响。核心设计任务有三个。硬件分布:选择的硬件是什么(嵌入式系统常是单板机、单片机、专用机;企业应用常是PC、服务器),这些机器间的物理拓扑结构是怎样的(基于什么网络、什么总线规范、有没有冗余)。软件部署:不同”软件到硬件的映射关系”对应不同的部署形态——桌面软件是安装、嵌入式系统是烧写、Web系统是部署,总之要明确目标单元的类型、数量,以及各自将运行在哪台PC、哪个单板、哪个服务器上。方案优化:物理架构设计的好坏严重影响一系列重大质量属性,可以从”攻”与”守”两个方面理解——”攻”指高性能、持续可用性、可伸缩性这类需要主动争取的能力,”守”指经济性、技术可行性、易维护性这类需要保底的约束;从思维要点层面看,”开销”和”争用”是物理架构优化的核心,围绕物理节点、网络、软件单元、数据单元这些基本内容,具体优化方向有四个:如何降低物理节点”内”的计算开销、如何降低物理节点”间”的通信开销、如何避免物理节点”内”CPU/内存/硬盘等资源的争用、如何避免物理节点”间”网络带宽资源的冲突——这四个方向把”物理架构好不好”这个模糊判断,拆解成了两组(开销/争用)×两个层次(节点内/节点间)共四个具体可检查的优化点。

参考来源

- 位置:《软件架构设计:程序员向架构师转型必备》第10章《细化架构设计》"10.3.3 物理架构=硬件分布+软件部署+方案优化"节(源文件:_epub-src/OEBPS/text00013.html) - 结论依据:原文说明"从思维要点层面,'开销'和'争用'是核心。即围绕物理节点、网络、软件单元、数据单元等物理架构设计的基本内容,通过如下4个方面的设计优化来'降低开销'和'避免争用'",并列出四个具体优化方向,直接支撑本卡片结论。 - 原始内容:因此,有必要评审物理架构设计、甄选更合理的物理部署方案。从思维要点层面,"开销"和"争用"是核心……如何降低物理节点"内"的计算开销……如何避免物理节点"间"网络的带宽资源冲突。