2018-从零开始学架构

原文地址 TODO!

从零开始学架构

我总结几个架构设计相关的特性:

1.架构设计的思维和程序设计的思维差异很大。

架构设计的关键思维是判断和取舍,程序设计的关键思维是逻辑和实现。很多程序员在转换为架构师后,很难一开始就意识到这个差异,还是按照写代码的方式去思考架构,会导致很多困惑。

2.架构设计没有体系化的培训和训练机制。

大学的课程几乎没有架构设计相关的课程,架构设计的书籍更多的也只是关注某个架构设计点,没有体系化的架构设计书籍,导致程序员在学习上没有明确指导,只能自己慢慢摸索,效率低,容易踩坑。

3.程序员对架构设计的理解存在很多误区。

例如:要成为架构师必须要有很强的技术天分;架构师必须有很强的创造力;架构设计必须要高大上才能体现架构师能力;架构一定要具备高可用、高性能……这些似是而非的误区让很多技术人员望而生畏,还没尝试就已经放弃了。

这个专栏涵盖了我的整套架构设计方法论和架构实践,主要包括以下内容。

  • 架构基础:我会先介绍架构设计的本质、历史背景和目的,然后从复杂度来源以及架构设计的原则和流程来详细介绍架构基础。
  • 高性能架构模式:我会从存储高性能、计算高性能方面,介绍几种设计方案的典型特征和应用场景。
  • 高可用架构模式:我会介绍 CAP 原理、FMEA 分析方法,分析常见的高可用存储架构和高可用计算架构,并给出一些设计方法和技巧。
  • 可扩展架构模式:我会介绍可扩展模式及其基本思想,分析一些常见架构模式。
  • 架构实战:我会将理论和案例结合,帮助你落地前面提到的架构原则、架构流程和架构模式。

通过本专栏的学习,你会收获:

  • 清楚地理解架构设计相关的概念、本质、目的,避免架构师在实践过程中把握不住重点、分不清主次,眉毛胡子一把抓,导致架构设计变形或者“四不像” 。
  • 掌握通用的架构设计原则,无论是何种业务或技术,架构师在判断和选择的时候有一套方法论可以参考,避免架构设计举棋不定,或者拍脑袋式设计。
  • 掌握标准的架构设计流程,即使是刚开始做架构设计的新手,也能够按照步骤一步一步设计出合适的架构,避免某些步骤缺失导致错误的架构设计。
  • 深入理解已有的架构模式,做到能够根据架构特点快速挑选合适的模式完成架构设计,或者在已有的模式上进行创新,或者将已有的模式组合出新的架构。
  • 掌握架构演进和开源系统使用的一些技巧。

好的开始是成功的一半,希望专栏的内容能够有效地帮助你更快地掌握架构设计的技巧,更好地设计出优秀的架构,实现自己心中的技术梦想!