首页 \ 课程列表 \ 百万级高并发流量优化
课程介绍

蚂蚁课堂是如何解决抗百万级并发流量的?

  1. 1.一篇文章, 给大家介绍下, 蚂蚁课堂是如何解决抗百万级并发流量的?完全纯手打的,纯个人总结,大家可以看下。

  2. 2.首先在谈到高并发解决方案的时候,很多学员可能都会想到服务器应该做集群、负载均衡。

  3. 3.那么服务器集群,一定能解决高并发吗?这其实不一定。

  4. 4.首先要分清楚高并发影响用户的源头?是因为带宽不够还是服务内存不足?

服务带宽指的是:客户端与服务器传输的宽度的速度,1m 等于 128kb。

服务内存指的是:服务器端处理业务能力。

  1. 1.那么解决高并发的入口是客户端与服务器端传输带宽速度, 如果带宽速度不足的情况,可能会导致客户端延迟等待。

  2. 2.一个网站核心 分为静态资源(css、img、js)和动态资源(jsp、ftl)组合,绝大数的情况下静态资源占了整个网站带宽传输, 这时候应该采用网站动静分离架构,将动态资源与静态资源分开服务器存放,注意:网站跨域问题。

  3. 3.动静分离可以使用 nginx,或者是使用第三方静态资源服务器比如七牛云、阿里云等。

还要对静态资源实现压缩、减少带宽的传输,使用 CDN 实现内容分发,从最近服务器访问。

  1. 1.如何对静态资源实现压缩呢? 使用 nginx 开启 gzip、maven 打包压缩 min 格式、或者使用 cdn 自带压缩

以上这些属于 Web 前端优化。

  1. 1.如果客户端发送请求已经达到服务器端的话,服务端处理响应产生延迟,那么开始采用后端优化方案。

  2. 2.可以对服务器实现集群 、加服务配置、采用 MQ 异步传输、使用 Redis 做缓存,减轻数据库访问压力、代码优化、数据库采用:读写分离和分表分库,程序采用多线程、jvm 参数调优,服务实现保护机制(服务降级、服务隔离、服务熔断、服务限流)等。

  3. 3.Web 前端优化大多数情况下,属于公司运维干的事情,后端优化属于架构师做的事情,如果一个网站中静态资源非常多的情况下,不要将静态资源和动态资源在同一个服务器存放,一定要采用动静分离架构,提高网站的吞吐量。

  4. 4.最后总结下,如果服务器带宽不足的情况下,服务器接受客户端请求资源,可能会产生延迟,服务器做集群、加配置,效果不会很明显,因为服务器集群只能提高服务器的业务处理能力,不能提高服务器的带宽传输,
    所以可以采用以上总结的 Web 前端优化方案,减少客户端与服务器端带宽传输。

  5. 5.如果在带宽的足够的情况下,客户端发送请求已经到达了后端服务器,服务器端处理能力产生延迟,那么采用以上总结 后端优化方案
    服务器集群、加服务器配置等。

  6. 6.之前有一位学员问,app 客户端遇到高并发,是采用后端优化还是前端优化,app 属于 cs 架构,静态资源在打包的时候已经在安装包里面,不需要远程获取,业务逻辑需要远程调用接口,获取 json 数据进行解析,让后展示数据,所以 app 客户端产生的高并发,核心在于后端优化。


查看更多∨
Powered by蚂蚁课堂