目录
一、高并发简介
高并发(High Concurrency)是指特定时间段内系统能够同时处理大量请求或链接的能力,并且能够迅速给出响应。比如秒杀场景、人气超高的网红或明星进行直播时,直播间一下涌入大量的观众。
高并发系统的设计目标是确保用户访问量激增的情况下,系统仍能保持稳定运行,避免服务延迟或中断。衡量高并发系统性能的指标主要包括:
- 响应时间:系统对单一请求做出反应的所需的时间。
- 吞吐量:系统在单位时间内能够处理的请求数。
- 每秒查询数:指QPS,衡量系统每秒种处理查询请求的数量。
- 并发用户数:系统能够同时支撑正常使用系统功能的用户数量。
现在的互联网产品都要考虑高并发,尤其是 C 端业务,一般情况下,用户的访问量都是很大的。下面就来谈谈高并发架构设计的经验。
二、高并发框架设计经验
高并发框架设计主要从三大层面建设和分析。
- 基础设施层
- 服务端架构层
- 服务应用层
下面分别展开介绍下这三层的含义。
2.1 基础设施层
基础设施层一般包含了服务器、IDC或多云部署、负载均衡、网络设备等。目前部署服务都通过容器的方式,而容器的底层能力建立在K8s基础之上,服务本身的部署管理已经有了成熟的设施帮我们实现,具体部署服务时可以采用:
- 多IDC部署,比如服务同时部署在北京和上海。
- 多云部署,多云部署可以让企业跨多个云提供商分配工作负载,利用各云平台的负载均衡服务,可以更灵活地管理和分散高并发流量。如果某个云平台遇到性能瓶颈或故障,可以迅速将流量转移到其他健康的云环境,确保服务连续性和高可用性。不同的云提供厂商还提供了丰富的弹性计算资源,可以根据流量进行动态扩缩容,以应对高并发。
- CDN 加速,通过在多个地理位置部署服务,利用 CDN 和其他加速技术,减少网络延迟,提升用户体验。
- 负载均衡,使用高性能的负载均衡器(如Nginx)来分配进入的流量至多个后端服务器,确保没有单点过载,提高系统整体的处理能力。
- 监控预警,建立全面的监控体系,包括性能监控、日志分析、异常报警等,及时发现问题并处理。