什么是高并发
高并发(High Concurrency)通常是指通过设计保证系统能够同时并行处理很多请求。通俗来讲,高并发是指在同一个时间点,有很多用户同时的访问同一 API 接口或者 Url 地址。它经常会发生在有大活跃用户量,用户高聚集的业务场景中。
高并发的等级
- 一线:阿里、腾讯、京东 …
- 二线:美团、58同城 …
- 三线:瓜子 …
在谈高并发下的系统架构之前,首先要明确并发量的等级,对于不同量级的并发架构是不同的。对于一线互联网公司来说,并发量是及其大的,尤其对于详情页的访问量,对于详情页是可以单独拿出来作为一个模块处理的。而对于二线互联网公司来说,除此之外还有如12306、考试系统等瞬时高并发。
在这里我们主要聊对于阿里、腾讯这样的一线大厂的高并发架构。
高并发下的数据一致性
除了并发量的等级之外另一个需要明确的就是对数据一致性的要求
数据一致性问题是处理高并发的核心问题之一,数据是否需要一致,是高一致性还是最终一致性,数据如何分布,如何同步,响应时间等问题都需要事先考虑好。
- 高一致性:会带来更高的性能消耗
- 最终一致性:采取延迟更新、性能消耗低一些
什么是削峰
从业务上来说,秒杀活动是希望更多的人来参与,也就是抢购之前希望有越来越多的人来看购买商品。
但是,在抢购时间达到后,用户开始真正下单时,秒杀的服务器后端缺不希望同时有几百万人同时发起抢购请求。
我们都知道服务器的处理资源是有限的,所以出现峰值的时候,很容易导致服务器宕机,用户无法访问的情况出现。
这就好比出行的时候存在早高峰和晚高峰的问题,为了解决这个问题,出行就有了错峰限行的解决方案。
同理,在线上的秒杀等业务场景,也需要类似的解决方案,需要平安度过同时抢购带来的流量峰值的问题,这就是流量削峰
<