高并发浅析
什么是高并发
高并发指通过设计保证系统能够同时并行处理很多请求,是分布式系统非常重要的概念 评价分布式系统性能的指标有:
- 响应时间:系统对请求做出响应的时间。
- 吞吐量:单位时间内处理的请求数量。
- QPS(和吞吐量基本没啥区别):每秒响应请求数。
- 并发用户数:同时承载正常使用系统功能的用户数量。
水平扩容和垂直扩容
那么如何实现高并发呢? 上图都是实现高并发的方法,而这里只介绍水平扩容和垂直扩容
垂直扩容
这是过去一直在使用并且可以马上见效的方法,但是缺点也很致命,垂直扩容有两种方案
- 提升单机硬件配置 例如:增加CPU核数如32核,升级更好的网卡如万兆,升级更好的硬盘如SSD,扩充硬盘容量如2T,扩充系统内存如128G;
- 改善单机架构 例如:使用Cache来减少IO次数,使用异步来增加单服务吞吐量,使用无锁数据结构来减少响应时间; 但是这种方式势必会受到科技的限制,性能有极限,如果想突破这种极限,实现线性上升,就需要水平扩容
水平扩容
增加服务器数量,把请求尽量均匀地分配到各个服务器上,这也是分布式系统的目标。 举个例子,通常一个域名绑定一个IP,而一个IP对应一个服务器,当很多用户访问,响应速度会变慢,而采用nginx反向代理,把域名绑定到多个IP,利用dns轮询技术实现均衡负载,可以显著提高响应速度,而且没有极限
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Doraemon's Blog!
评论