本文是《从零开始学架构》的第一篇学习笔记,在工作6年左右的这个时间点需要有一些先行的理论来指导即将面临的复杂实践,以便在真正面临复杂实践的时候能有所参照。
主要从以下几个方面和顺序来进行学习
- 架构基础:从架构设计的本质、历史背景和目的入手,然后从复杂度来源以及架构设计的原则和流程来详细介绍架构基础。
- 高性能架构模式:从高性能存储架构、高性能计算架构,介绍几种设计方案的典型特征和应用场景。
- 高可用架构模式:介绍 CAP 原理、FMEA 分析方法,分析常见的高可用存储架构、高可用计算架构,并给出一些设计方法和技巧。
- 可扩展架构模式:介绍 可扩展模式及基本思想,分析一些常见架构模式。
- 架构实战:理论和案例结合,落地前面提到的架构原则、架构流程和架构模式。
学习的主要目的有这么几个:
- 清楚地理解架构设计相关的概念、本质、目的,避免架构师在实践过程中把握不住重点、分不清主次,眉毛胡子一把抓,导致架构设计变形或者“四不像” 。 有明确的概念和目的
- 掌握通用的架构设计原则,无论是何种业务或技术,架构师在判断和选择的时候有一套方法论可以参考,避免架构设计举棋不定,或者拍脑袋式设计。 有明确的决策原则
- 掌握标准的架构设计流程,即使是刚开始做架构设计的新手,也能够按照步骤一步一步设计出合适的架构,避免某些步骤缺失导致错误的架构设计。 有明确的设计路径
- 深入理解已有的架构模式,做到能够根据架构特点快速挑选合适的模式完成架构设计,或者在已有的模式上进行创新,或者将已有的模式组合出新的架构。 了解业界通用的架构模式,站在巨人的肩膀上
- 掌握架构演进和开源系统使用的一些技巧
架构设计的思维和程序设计的思维差异很大:架构设计的关键思维是判断和取舍,程序设计的关键思维是逻辑和实现