架构师训练营第 1 期 -- 第四周学习总结
很早之前就看过李智慧老师的《大型网站技术架构》,但当年看的时候我还在做传统的基于B端的企业开发,对很多东西理解得还不是很深,最近几年开始做互联网开发,才有了一些感性的认知。
本周课程先从系统的垂直伸缩和水平伸缩的比较讲起,阐述了现代分布式应用架构的扩展,用的都是水平伸缩的方式,因为水平伸缩可以实现线性的性能与成本的扩展。
接着讲述了架构的演化:
一体化部署单机
单体应用数据分离
使用缓存
应用服务器集群
数据库读写分离(主从架构)
反向代理和CDN
分布式文件和数据库系统
NoSQL和搜索引擎
业务拆分
微服务及中台化
大数据与智能化
其中个人感觉后面的几点,NoSQL接触得不多,像mongoDB这样的文档数据库,前几年很流行,现在碰到一些公司,包括我所在的公司,都在移除这个组件,理由是性能问题。ES越来越流行,ES本身也在不段进化。业务拆分后,一个大系统拆成多个子系统,微服务化就成了自然而然的选择。至于中台化,这两年一直在提,但我一直没有什么深刻的理解,实际工作中,我们的公司也没做中台化,没有什么实践上的认知。大数据处理,接触过一些流式处理组件,也仅限于应用上的理解,还停留在map-reduce的认知上。智能化现实中就没真正实战过了,只知道大概是训练模型,调参,得到一个基于概率的结果。
接下来讲了互联网的架构模式,以及各方面的技术。
架构模式:
分层:系统分层
分割:业务切分
分布式
集群
缓存
异步
冗余
自动化
安全
架构核心要素:
高性能
高可用
可伸缩
可扩展
安全
总结了系统各层级用到的技术,内容较多,梳理了一下,感觉并不是都掌握都得很熟练,以后需要更深入地去了解每项技术。
之后的三个案例,其实之前老师的书里提到了两个,大概有了一些了解,还需要再看看,进行一些更深入的思考。
这周的课,恰逢国庆,学习排得不是很紧凑,可是课程里涉及的东西又很多,感觉自己学得有点泛,后面要多复习,多思考,加深理解。
评论