如何处理大流量高并发

Posted wwlong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何处理大流量高并发相关的知识,希望对你有一定的参考价值。

1.动静分离。

  将网站中的静态资源单独拆分出来, 比如 css, js, 图片, 视频资源单独存储在一台服务器上, 或者直接使用云存储平台, 七牛云或者阿里云之类的, 这样能有效的降低主服务器的运行压力

2.CDN加速。

  云平台提供 CDN 加速, 可以对资源进行全国服务器节点的分发, 提高全国各地的访问速度。

3.反向代理,负载均衡。

  反向代理就是将用户的请求, 分发到不同的 web 服务器上, 进行处理, 降低单台服务器的压力, 负载均衡则是根据 web 服务器的性能进行请求的分配, 负载较小的多分配一些请求, 负载较大的小分配一下请求.   nginx 就可以实现反向代理和负载均衡。

4.使用数据缓存。

  数据缓存可以使用 memcache 和 redis 这样的内存缓存系统来实现, 将一些常用数据写入到内存中, 从而提升响应的速度。

5.数据库优化。

  数据缓存,结构优化,定位慢查询语句,语句优化,索引优化,分库分表,主从复制读写分离,中文分词。

6.压缩合并js   css。

  过多的 js 和 css 请求会消耗服务器的资源. 可以借助前端工具 webpack 来进行打包。

7.分布式集群搭建。

  将业务拆分到不同的服务器下, 降低单台服务器压力.例如用户和商品功能拆分开。

8.页面静态化。

  页面静态化其实是缓存的一种实现, 将要返回的 html 内容预先写入到一个文件中, 访问的时候可以直接返回该文件中的内容。

9.防止外部盗链。

  盗链是其他网站引用当前服务器的资源, 比如css, js 和图片,主要是图片. 可以使用 refer 进行限制。

10.使用消息队列。

  将请求的内容压入到队列中, 用另外的脚本异步处理请求, Redis 的列表结构就可以实现这个效果。

以上是关于如何处理大流量高并发的主要内容,如果未能解决你的问题,请参考以下文章

嘿!不用太过于担心的单点故障

如何处理负载高并发

一文教你如何处理高并发

我是如何处理大并发量订单处理的 KafKa部署总结

如何处理高并发量的HTTP请求

如何处理高并发量的HTTP请求