2018年11月03日,英雄联盟S8全球总决赛在韩国仁川举行,IG战队以3比0的战绩战胜了FNC荣获冠军!
2018年英雄联盟全球总决赛(S8)的冠军诞生了,这也是英雄联盟8个赛季以来LPL的第一个S系列冠军!今年再也不是传说中“最有希望的一年”了!
听到这个消息的我也忍不住沸腾了!正想打开微博庆祝一下。。。结果。。微博一打开。。是这样的
OK。。微博又崩了。。。
看来程序员小哥哥又要加班啦!疯狂的修补bug中.....
此时的程序员小哥哥只想说一句
IG秉持着“永不加班”的精神拿下了全球总冠军,而微博程序员万万没想到躲过了唐嫣结婚,却没有躲过IG世界总冠军,微博崩的这么淬不及防。
然而这已经不是微博第一次瘫痪了,为什么访问量突然暴增会导致系统崩溃呢?有什么方法可以解决这个问题呢?
原来这是“高并发”的问题,重点来了哦,下面进行我们的教学部分~
什么是高并发?
高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。
简单来说就是,能够高效的处理短时间内大量用户同时访问系统的问题,像双十一、微博热点等等事件,都能引发巨大量的用户同时访问,高并发没做好,就会使服务器瘫痪。
“高并发”关键词
响应时间(Response Time)
是指用户发出请求或者指令到系统做出反应(响应)的时间。例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响应时间。
吞吐量(Throughput)
是指对网络、设备、端口、虚电路或其他设施,单位时间内成功地传送数据的数量(以比特、字节、分组等测量)。即:单位时间内处理的请求数量。
每秒查询率 QPS(Query Per Second)
是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。即:每秒响应请求数。
并发用户数
更够同时承载并能正常使用系统功能的在线用户数量。
如何有效解决?
当开发人员打算提升系统负荷能力的时候,互联网分布式架构设计,就能够有效提高系统并发能力,主要有两种方法:垂直扩展(Scale Up)与水平扩展(Scale Out)。
垂直扩展
在垂直扩展模型中,想要增加系统负荷就意味着要在系统现有的部件上下工夫,即提升单机处理能力。它分为以下两种方式:
增强单机硬件性能,例如:增加CPU核数,升级更好的网卡,更好的硬盘,扩充硬盘容量,扩充系统内存等等。
提升单机架构性能,例如:使用Cache来减少IO次数,使用异步来增加单服务吞吐量,使用无锁数据结构来减少响应时间。
但是论是提升单机硬件性能,还是提升单机架构性能,它们都存在着一个致命的缺点:单机性能总是有极限的。
水平扩展
只要增加服务器数量,就能线性扩充系统性能。各个层次实施水平扩展后,就能够通过增加服务器数量的方式来提升系统的性能,做到理论上的性能无限啦。
所以互联网分布式架构设计高并发最优解决方案,就是水平扩展。
今天的文章就到这啦!如果你还想了解更多的东西,欢迎在文章下方留言,也可以进群一起交流哦,还有一大推学习资料可以免费领哦~
-END-
六步教你学会用Java生成二维码
系统水印不好看?那就自己开发吧
领取专属 10元无门槛券
私享最新 技术干货