在前面的文章中,我们提到了承载量、并发量这两个概念。
那么到底什么叫承载量,什么叫并发量?
而对于承载量过高、并发量过高的问题,我们又改又该怎样去应对呢?
今天我们就来和大家具体了解一下。
承载量
什么是承载量呢?
我们都知道,用户在我们产品中所做的操作,其实都是给产品后台的服务器发送的一条条事务信息。
那么这一定是有一个通道,这个通道我们就叫它“带宽”。
它就像是一条公路一样,用户发送给服务器的事务信息和服务器回传给用户的响应信息,就像车辆,在这条叫“带宽”的公路上来往穿行。
我们都知道,公路的车流量有上限,当车流量突然过多,超过了这个上限的时候,就会造成堵车。
比如说现在正在进行的春运,国内很多的交通要道就出现了严重堵塞。
带宽也是有一个承载来往信息流量的上限,这个上限就叫承载量。
所以,同公路的情况一样。
当来往信息的流量超过了服务器带宽所能承载的流量上限,就造成了信息阻塞,导致消息延迟,信息丢包等问题产生。
这就是承载量过高的问题。
当然,这种问题也和堵车一样,不是经常发生。
但在某些特定的时候信息流量如春运的车流量一般猛增,堵车就开始了。
那么我们又该如何应对承载量过高呢?
为了应对公路堵车的问题,我们会把公路拓宽,让车辆可以更顺利地通行。
那么我们应对承载量问题也是一样,我们可以通过增加带宽,来让用户与服务器之间的信息来往更加顺畅。
而不同的是,平时我们既然达不到那么多的流量,所以在平时我们可以再减少这些带宽,以避免造成资金的浪费。
并发量
什么是并发量呢?
这就好像车辆已经通过了公路,来到了收费站前。
收费站要对这些车辆进行收费,再让他们通过。
服务器也是如此,用户发来的信息已经发送过来了,服务器需要接收并处理这些事务。
所以并发量指的就是,服务器能同时处理的事务的数量。
对于公路来说,堵车不仅仅发生在路中间,还会发生在收费站前。
因为突然很多的车到了收费站前,由于车型的不同,收费价格不同,收费方式也不同,就会导致收费站就接待不过来,大量车辆在收费站前滞留。
服务器也是如此,同时有很多的不同事务信息要接入进来,服务器接收不过来,大量的事务信息就被堵在了服务器门口了。
这就是并发量过高的情况。
那么我们该怎么去应对并发量过高呢?
通过观察发现,高速公路的收费站通常都有很多站口,但是在平时是只开放一两个的。
因为车辆不多,一两个站口忙得过来。
当节假日以及春运这种车流量高峰,收费站就会打开其它站口,然后按照车型进行分类:
大型货车站口;
小型货车站口;
小型轿车站口;
ETC站口
······
如此一来,到达站前的车辆根据自己的车型进入到不同的站口前排队,就可以更快且更有秩序地通过收费站。
在服务器高并发的问题上也可以用同样的思路。
一台服务器无法同时处理大量的事务,我们可以采取将所有事务按照事务类型分类,交由多台服务器处理。
这个方式就是服务器集群。
将一台服务器要处理的事务交给多台分工
比如,专门一台服务器处理登录,专门一台服务器处理查询,专门一台服务器处理支付。
如此一来,每个服务器所要处理的事务就少了,并发量过大而导致的问题也就迎刃而解。
以上就是小编对于承载量与并发量的理解。
其实承载量、并发量还只是产品硬件问题中的一部分。
如果大家在产品项目上还遭遇了其他的硬件问题,可以通过公众号告诉我们,我们会在第一时间为大家提供帮助。
想要了解更多的知识干货
那就关注
程序范儿 Style
领取专属 10元无门槛券
私享最新 技术干货