我不是架构师,也不会架构哦,写的只是一些理论,看书的一些感悟,并不是什么技术。

写之前先说几句闲话,关于培训机构的,我有几个同学被培训机构坑过了,就简单说下培训机构的几个骗局
**现在是2019年,数据是按2019年8月算的
**一.12年架构师,其实12年架构师是有的,但是12年架构师要么是海外人士,要么是最早负责百度,腾讯的(阿里这个时候大多数业务还没有),其实严格意义上说2009年架构这个词在中国知道的人很少,那个时候大多数人用的也是php和c++,从事java架构师有多少个没人统计过,但这些人都是当初的业界大佬,百度一查就可以查出工作经历的,这种人就算开课也是在某网络课堂上开,培训机构上这样介绍自己的十有八九是骗子。
.8年以上前端架构,前后段分离都不到8年,8年前压根就没有前端架构师说法,前后端基本都是后端全负责的,前端架构到目前为止撑死只有8年。
.教你学python但是教的不是大数据,数据挖掘,人工智能方面的,这倒不是骗子,但是python虽火,找工作缺难,python工作主要集中在这几方面。
四.全栈,这玩意只是听着牛逼,今年已经没有见几家公司招这种人了,全栈就是学的多,学的都浅,现在就算招你过去,工资也很低。
五.前后端,这玩意也不骗人,但肯定是javascript,虽然确实可以做后端,但我没见过哪家公司真的用js做后端的,一般都是打着前后端名义教前端的

软件的发展是从从一对一,变成了一对2,最后演变成了多对多。而架构大多数情况下以任务分解解决复杂度把一个大一统但是复杂的系统,变成小但是简单的系统,像拼积木一样在拼成一个功能并不缺失的系统。这个过程因为接口等原因会增大代码量。就像支付宝是由扫一扫,转账,收账等各个子系统组成。
另外,程序复杂度还面临这高可用,和可扩展性的限制以及成本的限制,可扩展性已经被设计模式几乎进行到了极致,成本是经济问题,高可用也就是程序不中断,这个当前并没有太好的解决方法,都是通过冗余来解决的,就是一台电脑不够两台,两台不够4台,故而也会增加复杂度。
架构设计有三个原则
合适原则,设计架构千万不要整天想着我要做到业界最高水平什么的,一般上业界最高水平不是一蹴而就的,是演化过来的(演化原则),一定要适合自己。2013年微信还没出来的时候,好多人想和qq抢市场这块蛋糕,大多数失败原因都是这样的,既然要超过qq那架构方面一定超过qq,于是,这帮人把架构设计的非常复杂,人数又不是太够,于是耗费了2年,程序没有做出来,微信出来了,市场彻底饱和,一家又一家公司不是倒闭就是赔钱,看到这个,我就特别好奇,是谁给他们的勇气,认为自己可以达到qq的人数,如果当时老实点,先做10万人的,说不准我们现在还能见识到这些公司的身影。
简单原则,在软件行业,程序越复杂越意味着灾难,太过复杂的程序修改一个小功能便需要一个月,最有名的便是oracle数据库功能的添加,软件上,简单反而更好。
演化原则,就是变化原则,如windows系列电脑,windows10与最原始的DOS依然是那个系统,现在的淘宝与当初新建立的淘宝tps的对比,我们要根据市场的变化逐渐改变自己的程序,设计架构也是如此,演化优于一步到位。
架构设计流程
1.复杂度评估,简要点,从高性能,高可用,拓展性中选择1个或者2个,架构肯定不会十全十美,作为设计架构的人,必须根据自己的系统需求选择出自己需要的。
2设计备选方案。
3评估选择备选方案
这里有几个比较适合工作人士的,选择最简单那个必定可以完成需求,或者推锅给领导让领导选也是不错的。
4详细设计,这方面就是自己考虑的,各个项目有各个项目的需求,不做介绍

更多推荐

预防培训班害人和架构介绍(理论)