架构师训练营 Week4 学习总结
本周主要是讲解一些目前互联网应用的一些架构技术栈以及在演变过程中的架构历程及解决思路。
首先列举互联网系统面临的挑战:
1) 高并发,大流量
2) 高可用
3) 海量数据
4) 用户分布广,网络情况复杂
5) 安全环境恶劣,
6) 需求变更频繁,版本迭代快
7) 渐进式发展
针对以上问题,列出了几个转变思路:
1)垂直伸缩---简单粗暴,升级硬件,不需要改代码,最简单伸缩性方案,但到一定阶段后,成本压力大,同时很难满足系统要求,此时应该考虑第二种方案。
2)水平伸缩 --- 升级架构,它可以解决对于问题1中到一定阶段,无法解决的问题,同时降低成本。
架构的演化之路:
应该是从单体应用---应用数据的读写分离---缓存改善性能--服务集群---数据库的读写分离--反向代理和CDN加速---分布式---NoSql---业务拆分--微服务---大数据智能化
衡量一个系统架构的核心要素:
1)高性能
2)高可用
3)可伸缩
4)可扩展
5)安全
经过以上知识点的介绍之后,对于架构和创造一个典型的互联网应用有了一个比较清晰的思路和方向。
尤其是举例说明维基百科的案例,一个几十个人的小团队,可以做出一个扛住世界上流量排名第6的网站,充分说明,一个优秀的架构设计的重要性。
同时最后,我个人之前一直工作中想要追求技术上的"新", 但是这个"新"往往有时候和业务有些冲突,导致了自己一直处在业务和技术之间的矛盾体,即想要保持技术的敏感度,又想要完成业务的要求。回头发现,有时候当业务没有达到一定的级别时,过度去考虑未来的设计,未必是个划算的事情,同时未必体现自己在这个团队中的重要性,正如老师所说,有些事你认为重要的需要改,当周围环境不允许你改时,先让其发生,付出点代价未必时坏事,对个人而言,更能体现价值,过多的未雨绸缪,并不能完全体现出个人在公司的价值,谨记。
评论