面试的时候经常会被问到高并发这一类问题,所以在这里简单记录下它的一些解决方案。
流量
1. 防盗链。对于图片等静态资源进行防盗链处理,避免出现被盗链产生大量请求。
2. 去除恶意请求。对于一些扫站或者大量恶意访问的ip,应制定一定的策略来限制请求。
前端
1. 减少http请求,启用浏览器缓存,对js,css等静态资源文件进行压缩。
2. 使用异步请求,不必一下子把所有的数据全都请求回来,需要用到的时候再去请求。
3. 使用CDN加速,对于游戏包的下载,可以使用CDN节点缓存加速。
4. 使用独立图片服务器,对于图片资源,可以单独放在特定的服务器,或者把这些资源存放在七牛云存储这样的第三方云存储。
服务端
1. 页面静态化,对于一些改动少的页面,直接生成静态的html文件。
2. 使用redis、memcached缓存。
数据库
1. 开启数据库缓存。
2. 数据库分区分表,读写分离。
3. sql语句的优化。
4. 使用索引与优化。
服务器
1. nginx反向代理实现负载均衡。不同业务可以分布在不同的服务器,提高一个请求的处理速度。同个业务访问量大的可以使用多台机器集群,起到分流的作用。
网友评论