4.2 系统架构总结

1. 架构的目的

架构设计的目的主要是为了解决系统复杂度带来的问题。

1) 架构设计应从分析识别目前系统的复杂性问题为出发点

2) 架构设计并非要面面俱到,不需要每个架构都具备高性能,高可用,高扩展,而是要识别出复杂点然后针对性的解决问题

3) 只有理解每个架构方案背后需要解决的复杂点,才能对比自己的业务复杂点,参考相似的方案

2. 系统复杂度的来源

2.1 高性能

系统高性能带来的复杂度主要体现在两方面:

1)单机为了追求高性能带来的复杂度;

2)多台计算机(集群)为了高性能带来的复杂度;

2.2 高可用

本质上都是通过冗余达到高可用,但是带来了多机状态的复杂性。

常见的状态决策方式:独裁式;协商式;民主式;

2.3 可扩展性

为设计具有良好可扩展的系统,需要达成两个条件:正确预测变化,完美封装变化;

同时需要是恶疾变化层和稳定层之间的接口。

2.4 低成本

通过新技术方案达到低成本,很多时候会增加系统的复杂性

2.5 安全

需要支撑功能上的安全和架构上的安全

2.6 规模

规模带来复杂度的主要原因就是量变引起质变

3. 架构设计的原则

1) 合适原则:合适优于业界领先;

2) 简单原则:简单优于复杂;

3) 演化原则:演化优于一步到位;

4. 架构设计的流程

1)识别复杂度

2)设计备选方案;

3)评估和选择备选方案;

4)详细方案设计;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。