阿里的双11秒杀就是典型的高并发场景,短时间来抢购需要考虑到如下高并发解决方案@mikchen
负载均衡
这是所有高并发系统的“大门”,通过将流量分发到多个服务器,避免单点过载。

通过分发请求到多台应用服务器,平衡单点压力。
常用策略包括:轮询、最少连接与基于权重的调度。
可采用硬件负载均衡器或软件层(如 Nginx、HAProxy、LVS)。
四层负载 (LVS/F5): 基于 IP+端口转发,性能极高,负责处理海量原始连接。
七层负载 (Nginx/HAProxy): 基于 HTTP 协议、URL、Cookie 转发,负责灵活的路由规则和 SSL 卸载。
适用场景:读写请求均匀、无强一致性要求的Web服务。
微服务拆分
将单体应用,拆分为多个按业务划分的微服务。
各自独立部署、扩展与演进,通过轻量通信(HTTP/REST、gRPC、消息队列)协作。

适用场景:业务复杂、团队规模较大、需独立扩缩容与快速迭代的场景。
注意点:服务治理(注册发现、熔断、限流、降级)。
分布式事务与跨服务链路追踪是关键复杂点,需完善监控与运维自动化。
分布式缓存
将热点数据或计算结果,缓存在内存层(如 Redis、Memcached)或CDN。

减少后端存储与计算压力,显著降低延迟。
适用场景:读多写少、数据可容忍短时不强一致的业务(如商品详情、排行榜)。
注意点:缓存穿透、缓存雪崩与缓存一致性问题需防护(布隆过滤器、互斥锁、二级缓存、合理的TTL与预热策略)。
异步处理
将可延迟处理的任务异步化,前端快速响应并将耗时操作交由消息队列。
比如: Kafka、RabbitMQ和后台消费者处理,实现削峰与异步削减同步阻塞。

适用场景:下单、通知、日志处理、数据同步等对响应时延容忍的场景。
注意点:消息幂等性、消息顺序、重试策略与死信队列设计;队列容量与消费者扩展策略。
分库分表
数据库,通常是高并发系统的最终瓶颈。
读写分离: 主库写,从库读。
通过 MySQL MHA 或 ProxySQL 实现负载均衡,支撑高倍数的读并发。
分库分表:

垂直拆分: 按业务分,用户库、订单库独立。
水平拆分: 将单表千万级数据按 ID 取模或按时间散落到多个库表中,解决单表 IO 瓶颈。
mikechen睿哥
10年+一线大厂架构实战经验,操盘多个亿级大厂核心项目,就职于阿里、淘宝等一线大厂。