系统思考
各个实体之间的联系构成了系统,当你在研究一个系统的时候,如果你切分了其中某一部分拿出来研究
必定会切断,这部分与整体的联系,也就是破坏了整个系统!
必须从整体式理解一个系统
关于组件的知识对于整体上理解一个系统,作用非常有限,在某些情况下,这些知识甚至具有相反的效果
示例:
组件知识是局部的,而系统理解需要全局视角
组件是系统的一部分,但系统的行为不仅仅是组件的总和,还涉及它们之间的交互、架构模式、数据流、依赖关系等。
只关注组件,容易忽略系统级别的设计,比如如何扩展、如何容错、如何保障一致性。
局部最优 ≠ 全局最优过度关注组件实现,可能会优化某个组件的性能或功能,但不一定符合整个系统的最佳实践。
例如,一个高效的缓存组件如果没有考虑分布式一致性,可能会导致整个系统数据不一致。
局部思维可能会误导系统设计过分依赖某个组件,可能导致架构决策受限,比如:
认为数据库事务可以解决所有一致性问题,而忽略了分布式事务的挑战。
认为某个微服务框架很强大,而忽略了微服务本身的复杂性(如治理、监控等)。
关键是要有“系统思维”,知道什么时候关注细节,什么时候抬头看全局
系统展示出来的特性是做作为一个整体所拥有的特性,而不是任何一个部件所拥有的特性
自组织
保持高度有序状态,具有能量流,
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Zhonghe_Zhao!