第四周直播总结笔记
互联网架构面临的挑战:
高并发、高性能、高可用、安全
2000年以前的架构解决方案
垂直伸缩:通过升级硬件的方式来来解决
缺点:
1、需要花费大量资金
2、处理能力提升和成本不是线性的,比如中型机处理能力比小型机处理能力增加了10倍,但成本可能增加了几百倍。
3、有物理极限,比如一台机器只能支持几千的并发,如果有几亿的并发是解决不了的
4、操作系统也有处理极限。进程管理,资源调度管理,随着资源变的更大,应用程序怎么把这些资源利用起来,可能也会带来挑战
水平伸缩:不是通过增强硬件,而是增加硬件的方式来解决
垂直伸缩和水平伸缩之间存在一个交叉点,在交叉点之前,垂直伸缩还是有优势的。架构师的职责就是找到这个交叉点,并给我合适的架构设计。如果通过换个好的硬件问题就能解决,缺非得通过分布式的方式来解决,多台机器进行部署,最后导致维护性、开发难度都变大了。
互联网架构演化
1、最简单的互联网架构
少用户、少用户时,可以将应用程序、数据库部署在一台机器上进行实现。
2、应用与数据分离
随着用户数、数据量的增加,可以将应用、数据库分开部署到多台机器上。
3、使用缓存改善系统性能
互联网大部分的操作都是读操作,如果我所有的读都要访问数据库,那数据库服务器的压力就会好大,这时就可以通过读取缓存的方式来解决。
4、使用应用服务器集群的方式来解决
使用多台应用服务器负载均衡的方式来解决高并发问题。
5、数据库读写分离
使用数据库读写分离方式来缓解数据库读写压力
6、使用反向代理和CDN加速网站响应
CDN在运营商机房,用于存放CSS、图片等静态资源,就近访问,缓解带宽压力。
7、使用分布式数据库和分布式文件系统来缓解数据库写压力问题
9、使用搜索引擎和NoSQL提高查询速度
评论