高并发场景选型指南

返回 高并发

一致性要求读写形态快速选型,再进入对应案例文档。


场景地图

场景文档读/写一致性首选手段
微信步数日榜排行榜与实时计数写+读最终一致MQ 合并、ZSet、批量落库
12306 春运12306春节高峰读>>写强一致库存排队令牌、原子扣减、订单同步
秒杀抢购秒杀与抢购读+写强一致库存令牌、Redis Lua、幂等订单
红包雨红包雨与入账峰值写>>读金额准确分桶、NX 占位、MQ 入账
热搜突发热搜与读风暴读>>写可短暂旧多级缓存、热 key 扩散、读从库
直播弹幕直播弹幕与礼物写>>读展示可丢Kafka 分区、合并推送、少落库
点赞播放点赞与播放计数写+读可近似INCR、Set 去重、定时刷 DB
验证码短信验证码与通知洪峰写>>读频控准确多维 NX、MQ 发码、通道限速
支付回调支付回调与结算峰值写突发幂等推进notify 唯一键、CAS 订单、异步结算
投票抽签投票与限量抽签写+读票准/不超发SADD、Lua 扣名额、DB UNIQUE

一致性光谱

可丢展示 / 可近似数字          最终一致              强一致
────────────────────────────────────────────────────────►
直播弹幕采样    点赞/热搜缓存    步数榜/礼物榜    秒杀/抢票/红包金额

通用解法速查

问题解法详见
入口打穿限流、排队、令牌缓冲与流量塑形
写峰过高MQ、合并窗口消息队列时间窗口设计
读峰过高CDN、L1、Redis、从库缓存与多级缓冲热搜与读风暴
不能超卖Lua/DB 原子扣减秒杀与抢购12306春节高峰
不能重复领唯一键、SET NX红包雨与入账峰值投票与限量抽签
不能重复通知notify_id 幂等支付回调与结算峰值
通道被打满MQ + Worker 令牌桶验证码与通知洪峰
热 key分桶、本地缓存、副本读缓存与多级缓冲
持久化滞后批量 UPSERT、对账数据层设计

架构分层(所有场景共用)

接入缓冲 → 内存计算 / MQ → 数据层(按一致性要求同步或异步)

相关