前言
高并发解决的核心问题是在同一时间上有大量的请求过来,然后我们的系统要怎么抗住这些请求带来的压力。本文从基础设施层、服务端架构层、服务应用层分别做了一个简单的梳理,在每一层通过什么的方式去抗并发,给大家提供一个思路。
一、高并发的说明和背景
高并发解决的核心问题是在同一时间上有大量的请求过来,然后我们的系统要怎么抗住这些请求带来的压力。比如在线直播服务,同时有上百万甚至上千万人观看。比如秒杀品,同时有大量用户涌入。
高并发是从业务角度去描述系统的能力,实现高并发的手段可以采用分布式,也可以采用缓存等,当然也包括多线程、协程,但远远不仅如此;高并发的基本表现为单位时间内系统能够同时处理的请求数,高并发的核心是对资源的有效压榨,有限的资源应对大量的请求。
现代互联网服务,基本上都要考虑高并发问题,因为一般的产品,用户的请求量都很大。
二、高并发架构设计经验
高并发架构设计,需要从三大层来建设和分析
-
基础设施层:这个是最基础的依赖,主要是一些服务的部署。针对大公司而言,一般都有成熟的系统和基础设施来承载,可能针对业务开发的同学来看,平时关注的的细节并不深入,但是不妨碍我们从全局角度来剖析高并发的设计。
-
服务端架构层:这个是我们重点要关注的架构设计,架构设计不合理,就很难抗住高并发,主要包括各种架构和模块的设计。
-
服务应用层: 这个主要是针对我们写的代码来进行优化改进。从代码架构、代码性能等方便去抗并发。
2-1、基础设施层
部署:多 IDC + 异地多活
基