作者:白色蜗牛
来源:蜗牛互联网
前言
技术朋友应该看过公司架构师画的各种架构图,五花八门,各种框框,还涉及很多概念,比如系统,子系统,模块,组件,框架等等。他们都有出现在架构师的架构图里,那这些名词都是什么含义呢?它们之间又存在什么样的关系呢?架构的本质又是什么呢?
这篇文章希望可以给到你答案!
系统与子系统
系统(System)这个词我们经常会听到,它在维基百科里的定义是这样的:
系统泛指由一群有关联的个体组成,根据某种规则运作,能完成个别元件不能单独完成的工作的群体。
这个定义里有三个核心要点。
第一个是关联,必须是有关联的个体放一起才能成为系统。
第二个是规则,每个个体有各自的分工和协作方式,按照一定的规则运行。
第三个是能力,系统不是个体能力之和,而是产生新的能力,也就是 1+1>2 的效果。
比如计算机系统包括了 CPU、内存、磁盘和 IO。
IO 接收数据,内存放入运行中数据,CPU 进行计算,IO 输出计算结果,并且可以把相关信息比如日志持久化到磁盘中。
各个个体间互有关联,有着各自的分工和协作规则,并且完成了特定的计算,而这样子的计算任何一个个体是无法单独完成的。
至于子系统,往往是系统的颗粒度很大的时候,需要对这个系统拆解以方便分析。
因此,子系统(Subsystem)可以理解成更大系统中的一部分。
比如我们常用的微信可以认为是一个系统,而聊天,朋友圈就是子系统。其实如果视角上把朋友圈认为系统的话,也能找到它的子系统,比如动态、评论等子系统。
以下是系统和子系统的区别概要: