架构师训练营 第四周 总结 互联网系统架构演进
互联网系统的挑战是什么?
互联网系统是伴随互联网业务用户、业务量急剧增长的特点而不断演进的,主要要解决的问题有:
面对高并发,大流量访问;
需要存储与处理海量数据;
需要做到高可用,7*24小时稳定运行;
用户分布广泛、网络情况复杂;
需要快速响应需求,快速迭代;
需要面对各类潜在的安全攻击;
渐进式发展
应对高并发的技术方向
为应对高并发挑战,主要分为垂直伸缩和水平伸缩两个技术方向:

垂直伸缩:通过提高硬件、网络吞吐能力提高计算能力,且通常不需要改变应用架构,被认为是最简单的短期伸缩性方案。
水平伸缩:通过增加服务器提升计算能力的一类架构方法,被认为是伸缩性的圣杯。
互联网架构演化
0 最简单的互联网应用架构

1 应用数据分离

2 使用缓存改善系统性能

3 使用应用服务器集群改善系统的并发处理能力

4 数据库读写分离

5 使用反向代理和 CDN 加速网站响应

6 使用分布式文件系统和分布式数据库系统

7 使用 NoSQL 和搜索引擎

8 业务拆分

9 微服务及中台化

10 大数据与智能化
如何衡量一个系统的架构设计
高性能
高可用
可伸缩
可扩展
安全
评论