架构师训练营 - 学习笔记 - 第四周

用户头像
徐时良
关注
发布于: 2020 年 10 月 11 日

高并发挑战的两个方法

  • 垂直伸缩

垂直伸缩是指提升单台服务器硬件,不需要改变系统软件架构

  • 水平伸缩

水平伸缩是指增加服务器,将系统由单机扩展为集群,以此来获取性能提升。

架构演化

第零阶段

单机部署应用程序,文件服务器和数据库,如下图:



第一阶段

当发现单台的网络带宽,CPU,IO不足时,可以将文件服务器和数据库独立部署,如下图



第二阶段

当发现请求频繁的访问数据库,导致响应偏慢,可以考虑增加缓存组件,如下图:



第三阶段

当请求并发到一定程度,发现单台应用服务器无法支撑时,需要考虑应用服务器集群,如下图



第四阶段

应用服务器支持高并发,有可能数据库的连接数不够或者响应跟不上,导致请求耗时过长,可以考虑对数据库进行读写分离(通过第三方组件自动实现读写分离),如下图



第五阶段

当发现文件服务器的带宽不够用时,可以考虑CDN加速,如下图:



第六阶段

当读写分离之后,数据库还是无法支持高并发,考虑将数据库进行集群,如下图:



第七阶段

引入noSQL和搜索引擎,如下图:



第八阶段

将业务拆分,也就是微服务。如下图:



第九阶段

引入数据中台,如下图:





架构模式

  • 分层

将系统分持久层,业务逻辑层,控制层等

  • 分割

将不同功能进行分割,例如可以将用户管理分割成单独的功能

  • 分布式

将一个大的系统拆分成几个子系统

  • 集群

对系统进行集群部署

  • 缓存

1.CDN

2.反向代理:将请求转发到内部服务器

3.本地缓存:客户端缓存

4.远程缓存:服务端缓存

  • 异步

将一个业务复杂的逻辑分成多个异步执行。可以提供系统可用性,加快响应速度,

消除并发访问高峰(削峰)

  • 冗余

服务器冗余,数据冗余备份

  • 自动化

例如自动重启

  • 安全

1.加密协议

2.加密存储

3.网站验证码访问

4.敏感信息过滤

衡量架构设计的指标

  • 高性能

  • 高可用

  • 可伸缩

  • 可扩展

互联网架构技术一览





用户头像

徐时良

关注

还未添加个人签名 2018.08.24 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 - 学习笔记 - 第四周