4-4 以设计12306为例活学活用
一、秒杀系统案例总结
阿里云redis实现秒杀系统(severless方案)
Ref:hppts://help.aliyun.com/document_detail/63920.html
前端:静态化,限流。
秒杀:使用redis单线程实现,避免使用分布式事务
订单:独立订单数据库,下单后同步。
redis单线程QPS可以到10万
秒杀Redis脚本:Lua脚本扣库存
建议按照可扩展架构设计
二、12306特殊之处
- 业务特性:
QPS远远大于TPS 100倍(限流处理)
(客户端限流思想:根据后台单量生成对应的key分配给客户端,客户端拿到key才有访问服务端的权限)
及其节日相关(上云投入更低)
TPS可以知道 - BitMap
redis bitmap
mysql8.0 bitmap - 业务优化
不同方向的车票,不同时间段下放
三、其他优化措施
订单预估
redis的CRDB(无冲突复制数据类型)(能支持百万QPS)
特殊缓存
防止未抢到票的人来刷票:候补
网友评论