【架构师训练营】第四期作业

用户头像
云064
关注
发布于: 2020 年 07 月 01 日

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。



前端:

  1. 防盗链

通过判断HTTP请求Refer头部来判断访问来源,从而防止第三方非允许情况下引用站内资源,减少流量浪费

  1. 浏览器缓存

通过Expires和Cache-Control等头部来控制是否要重新请求服务器字段,节省站内带宽

  1. CDN加速

用户访问离自己最近的CDN站点,如果用户请求的资源在该CDN站点内有缓存,那么就直接访问,不需要继续访问内部服务器。有效减少了读资源的请求,节省站内带宽,缓解服务器压力。

  1. 图片服务器

因为图片读写比较耗费IO,所以部署在单独的服务器上,分担服务器的IO负载



网关:

  1. 负载均衡

负载均衡服务器不处理用户请求,只对用户请求做派发,均摊服务器压力,同时也能更好地做横向扩展

  1. 动态页面静态化

对于用户访问集中的动态页面,那么可以在网关处做一个缓存,因为动态页面需要做运算查数据,访问量越大,压力越大,CPU负载也就越高,数据库的访问压力也会变大。



服务层:

  1. 消息队列

对于用户流程无影响的操作,可以做异步处理,将操作封装成一个队列任务,推送到任务队列中。让用户请求可以提前返回,使得资源可以提前释放,降低请求的生命周期,缓解服务器压力。

  1. 分布式缓存

对于用户高频访问的信息,可以将数据拷贝一份放在缓存中,减少了对数据库的直接访问,降低数据库的压力

  1. 服务集群

为了保证服务的高可用,在一台机器宕机时不影响业务正常运行,那么就需要对同一个服务做冗余。



存储层:

  1. 分布式文件系统

分摊大量文件访问请求的压力

  1. 分布式关系数据库、读写分离

读写操作分离,分摊数据库压力。数据库主从复制,以保证在一台数据库宕机时,服务仍然可以正常运行

  1. NoSQL数据库



后台架构:

  1. 大数据平台

  2. 搜索引擎

  3. 推荐引擎

  4. 数据仓库



用户头像

云064

关注

还未添加个人签名 2018.05.24 加入

还未添加个人简介

评论

发布
暂无评论
【架构师训练营】第四期作业