什么是服务器大流量高并发?
所谓服务器大流量高并发指的是:在同时或极短时间内,有大批的恳求达到服务端,每个恳求都需要服务端耗费资源进行处理,并做出相应的反馈。
高并发带来的问题
服务端的处理和响应会越来越慢,甚至会丢弃部分恳求不予处理,更严重的会导致服务端崩溃。
常用的高并发处理的思路与手段
高并发问题的本质就是:资源的有限性。服务端处理恳求需要耗费服务端的资源,比如能同时开启的过程数、能同时运行的线程数、网络连接数、cpu、I/O、内存等等,由于服务端资源是有限的,那么服务端能同时处理的恳求也是有限的。
高并发处理的基础思路
1、从客户端看
尽量减少恳求数量,比如:依附客户端自身的缓存或处理能力
尽量减少对服务端资源的不必要耗费,比如:重复应用某些资源,如连接池客户端处理的基础原则就是:能不访问服务端就不要访问
2、从服务端看
增长资源供给,比如:更大的网络带宽,应用更高配置的服务器,应用高性能的Web服务器,应用高性能的数据库
恳求分流,比如:应用集群,散布式的系统架构
利用优化,比如:应用更高效的编程语言,优化处理业务逻辑的算法,优化访问数据库的SQL
基础原则:分而治之,并进步单个恳求的处理速度
高并发处理的基础手段
1、客户端发出恳求层面,常见的手段有:
尽量利用浏览器的缓存功效,减少访问服务端,比如:js、css、图片等
可以考虑应用压缩传输的功效,减少网络流量,也会进步传输速度
考虑应用异步恳求,分批获取数据
2、前端吸收客户端恳求层面,常见的手段有:
动静分别,部分静态资源可以直接从Nginx返回
按恳求的不同,分发到不同的后端进行处理,比如:负载均衡、业务拆分访问等
前面再加上一层来做多个Nginx的负载均衡,比如:LVS、F5等
还可以在更前面应用CDN服务
还可以对动态内容进行缓存,尽量减少访问后端服务
3、