架构师训练营第四周总结
所有互联网系统都是从小网站开始的,遵循渐进式发展
解决高并发的两个方向
1:垂直伸缩
使用更强大的服务器,增加硬件设施
缺点:
花费比较大
有物理瓶颈
操作系统,应用程序对资源支持只能到达某个点
2:水平伸缩
水平伸缩是增加服务器计算能力的一种架构方法
两种方式对比
早期开发使用垂直伸缩方式会比较合理,后续使用水平伸缩方式会比较合理
架构演化流程
第零阶段:一台服务器提供所有服务,程序,数据库,文件都放一起
第一阶段:应用数据分离,程序放一台服务器,数据放一台服务器,文件放一台服务器
第二阶段:使用缓存改善系统性能,添加一台缓存服务器降低数据库压力,支撑更多用户
第三阶段:增加应用服务器,添加负载均衡,使用集群方式分担请求
第四阶段:数据库读写分离,减轻单一数据库压力
第五阶段:使用反向代理和CDN加速网站响应
第六阶段:使用分布式文件系统和分布式数据库系统
第七阶段:使用NoSQL和搜索引擎
第八阶段:业务拆分
第九阶段:微服务和中台化
第十阶段:大数据和智能化
架构模式
分层:横向切分,网关层,服务层,数据层等
分割:按照业务,纵向分割,形成一个一个微服务
分布式:通过RPC等手段实现服务之间调用等
集群:几台服务器提供同一个服务,通过负载均衡方式对外提供集群服务
异步
冗余:一台服务器宕机,另一台冗余服务器(备份服务器)继续提供服务
自动化:主要用于运维方面
安全:防sql注入等
评论