你好,我是华仔!
感谢你订阅我的架构专栏,架构专栏从2018年上线至今,已经有超过50000的用户订阅,相信你也已经从架构专栏中收获良多。
架构专栏以及对应的书籍《从零开始学架构》上线后,我收到了很多用户的反馈和评价,对于感谢和夸奖的部分我就不多说了,我来谈谈一个比较有意思的现象。
有一部分用户认为专栏内容是系统化的,将架构设计的本质讲清楚了,学习专栏需要一定的基础和经验,例如:
而另外一部分用户的评价截然相反,认为架构专栏和书籍是适合入门科普的,学习专栏主要是知道了一大堆架构相关的概念,例如:
也就是说,同样的内容,一部分用户认为是适合入门和科普,一部分用户却认为需要一定的架构基础才能看懂,这是怎么回事呢?
其实从我个人的写作目的来说,我的本意是将我自己多年架构设计经验和思考提炼成通用的架构方法论,剖析常见的架构模式的本质,希望通过“授人鱼不如授人渔”的方式,让你能够从本质上掌握架构设计的方法,从而能够自如地将“面向复杂度的架构设计方法论”应用到你的实际业务系统中。
那为什么会出现两种截然不同的评价和看法呢?
我认真思考了一下,其实并不是架构专栏的内容本身有问题,而是不同基础的用户对内容的理解差异导致了不同的评价和看法。
其道理和钓鱼是类似的:
也就是说,专栏的内容是没问题的,用户的感受也是没问题的,但正如有个用户说的,“任何一本书都有其面向人群”,专栏的内容不可能涵盖架构设计的方方面面,做到面面俱到。
因此,为了满足目前还没有多少架构设计基础,但是期望提升自己架构设计能力的这部分用户,我想通过更有针对性的内容来讲解架构设计,这就是接下来我想给你介绍的“业务架构训练营”的设计初衷。
你可能会有疑问:既然有了架构专栏,那么架构训练营与专栏的区别是什么?会不会只是将专栏内容搬过来而已?
关于架构训练营的思路,一开始我们就确定了一个总原则:“架构训练营不是将专栏内容改成视频形式”。我们先后讨论了几个思路,包括通过代码来训练架构能力、通过剖析开源系统来训练架构能力、通过实现单个复杂业务来训练架构能力,最终,我们确定了“面向业务的架构实战”这个思路。
简单来说,架构专栏的思路是从架构设计本身出发,给你讲述完整的架构设计方法论和常见架构模式的理论分析。当你有了一定的架构设计经验后,架构专栏能够帮助你系统地理解架构设计,将你的经验串起来形成方法论。
而架构训练营的思路是从实战出发,给你讲述如何分析业务的架构需求,如何设计合理的架构来满足业务需求,其内容除了涵盖架构专栏的核心内容外,还会增加多种业务案例来讲解具体如何结合业务来做架构。
总体上来看,架构专栏更偏理论一些,架构训练营更强调实战。
训练营的第一部分,将完整介绍“面向复杂度”的架构设计方法论,目的在于帮助你系统地掌握架构领域的基础知识和技能。
具体内容涵盖架构设计相关概念、架构设计的历史和本质、架构设计原则、架构设计流程,我们可以和编程领域的知识做个类比:“面向复杂度”对应“面向对象”、“架构设计流程”对应“敏捷开发流程”、“架构设计三原则”对应“SOLID、DRY”等原则。
在训练营第二部分,主要是讲解业务架构设计套路,目的在于帮助你快速掌握架构设计技巧,做到即学即用。
具体内容涵盖高性能高可用存储、高性能高可用计算、微服务、异地多活这4种常见的架构类型,每种套路的具体内容都包括相关的成熟架构模式讲解、常见开源系统分析、以及如何选择成熟技术搭建适合业务需求的架构。
当然,你也可能会遇到没有合适的可选方案,需要自己搭建系统的情况,针对这个情况,我会给出一个实际案例,并且手把手带你从0到1,搭建一个高性能高可用的复杂系统。
训练营的第三部分内容主要是架构设计案例实战,我会通过一个完整案例来展示如何整合第一部分的基础知识技能和第二部分的架构设计套路,完成实际的业务架构设计。
为了避免你需要花费大量的精力来理解业务,我挑选了最容易理解的IM业务;同时为了演示不同业务需求导致的不同的架构需求,我设计了一个从10万用户到亿级用户的业务发展路径,分阶段讲解不同规模的业务对架构的要求,具体如何做出合理的架构设计,以及如何进行架构演进。
总体来说,架构训练营期望达到的目的是能够让你即学即用,既能够系统地掌握架构设计方法论的核心内容,又能够在实际的工作中很快地基于业务来实现合理的架构。