如何处理大流量高并发
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 的列表结构就可以实现这个效果。
以上是关于如何处理大流量高并发的主要内容,如果未能解决你的问题,请参考以下文章