程序原本(一百一十一):系统的基本组织方法与原理——领域间的组织(面向数据结点的系统架构)

阅读数:32 2019 年 10 月 5 日 14:04

程序原本(一百一十一):系统的基本组织方法与原理——领域间的组织(面向数据结点的系统架构)

在这样的视角下,我们将越来越趋向于对系统的可组织性与组织方式的观察。

以一个实际的、传统的系统架构为例:对于图 55 所示的整个系统,可以简单地描述为对“逻辑、数据及其交错关系”的求解(图 56)。例如我们将上述模型中的“P-D 关系”理解为某种数据层的提供方案,则可以得到如图 57 所示的模型:

图 55 传统的三层或多层系统架构

程序原本(一百一十一):系统的基本组织方法与原理——领域间的组织(面向数据结点的系统架构)

图 56 图 55 中架构的“P-D 关系”模型

程序原本(一百一十一):系统的基本组织方法与原理——领域间的组织(面向数据结点的系统架构)

图 57 分布式框架:对界面(对规则的封装)的思考

程序原本(一百一十一):系统的基本组织方法与原理——领域间的组织(面向数据结点的系统架构)

也就是说,我们将上述模型中的“P-D 关系”理解为某种数据层的提供方案,进而将服务对底层数据的存取变成一组分布逻辑,并将这些分布规则(Rules)通过语言(例如 MapReduce 等)固化在对数据层的存储界面中,并将该界面理解为对规则的封装。如此一来,一种面向底层数据的分布式框架就形成了。类似地,我们也可以规划“P-P 关系”。例如我们可以讨论会话服务是否存有较多的业务逻辑、是否依赖实时响应等限制条件,并据此来选择合适的语言或执行环境。一种可能的情况如图 58 所示。

图 58 分布式框架:领域问题及其方案带来的思考

程序原本(一百一十一):系统的基本组织方法与原理——领域间的组织(面向数据结点的系统架构)

在这样的模型下,我们讨论的是在不同的层间所采用的领域方案,以及在这些领域交互界面上的可行性、安全性与系统代价。在不同的层间,由于所关注的系统性质不同,因而候选的标准与工具也不同,其数据的格式与存储要求也存有差异,但总体来说,是对 PDIO 四个方面的综合考虑,例如逻辑§的复杂度、数据 (D) 的量级、IO 的频度等。

除开这些在分布、部署、调度等技术细节上的分析与选择,我们要讨论的将是这些层间的规划与层间关系的模型,以及如何通过系统化方法来实现这些层之间,亦即是领域间的协作开发。而这些将部分会是《我的架构思想:基本模型、理论与原则》一书所涉及的内容。

评论

发布