架构学习笔记:复杂度来源
架构的 6 个复杂度来源:高性能、高可用、高扩展、低成本、安全、规模。
高性能
主要体现在两方面,一方面是单台计算机内部为了高性能带来的复杂度;另一方面是多台计算机集群为了高性能带来的复杂度。
高可用
维基百科的定义是:系统无中断地执行其功能的能力,代表系统的可用性程度,是进行系统设计时的准则之一。
系统高可用的方案,本质上都是通过“冗余”来实现高可用的。
高可用和高性能的根本区别是:高性能增加机器目的在于“扩展”处理性能;高可用增加机器目的在于“冗余”处理单元。
高可用主要分为:计算高可用、存储高可用。
高可用状态决策的主要集中决策方式:
1.独裁式
2.协商式
3.民主式
可扩展性
基本条件:正确预测变化、完美封装变化。
低成本
低成本本质上是与高性能和高可用冲突的,所以低成本很多时候不会是架构设计的首要目标,而是架构的附加约束。
低成本给架构设计带来的主要复杂度体现在,往往只有“创新”才能达到低成本目标。
安全
从技术的角度来讲,安全可以分为两类:一类是功能上的安全,一类是架构的安全。
1.功能安全:就是“防小偷”。
2.架构安全:就是“防强盗”。
规模
规模带来的复杂度的主要原因就是“量变引起质变”。常见的规模带来的复杂度有:
1.功能越来越多,导致系统复杂度指数级上升。
2.数据越来越多,系统复杂度发生质变。
版权声明: 本文为 InfoQ 作者【风翱】的原创文章。
原文链接:【http://xie.infoq.cn/article/8d0bcc990e20a472b5a28b589】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论