第一篇 需求与选型:秒杀到底难在哪
去年双十一,公司第一次搞秒杀活动,结果一开场就翻了车:库存超卖了 800 多单,页面雪崩,支付回调堵在队列里,客服电话被打爆。复盘的时候我们认清楚一件事——秒杀难的不是写代码,是在瞬间流量下还要保住库存安全和系统稳定。
这一篇我们把问题拆开:1.1 先讲清楚秒杀场景到底特殊在哪,需求要怎么拆;1.2 对比 PHP 与 Go、Java 在高并发场景的取舍,说明白 PHP 能不能扛;1.3 聊机器准备,CVM 规格怎么选、弹性扩容怎么配,顺带放一个我们用过的特惠入口 云服务器 CVM 特惠;1.4 把 PHP 生态库和我们用到的腾讯云产品对齐成一张地图,方便后面各篇查阅。
我们的总体思路是:商品与订单落云数据库 MySQL,库存扣减走云数据库 Redis 再异步落库,活动页静态化后挂 CDN,下单请求排队削峰,日志统一进日志服务 CLS。本书所有代码以 Laravel 风格呈现但尽量精简,保证可读、可照抄。CVM 的产品文档入口是 cloud.tencent.com/document/product/213,MySQL 是 cloud.tencent.com/document/product/236,Redis 是 cloud.tencent.com/document/product/239,CDN 是 cloud.tencent.com/document/product/228,CLS 是 cloud.tencent.com/document/product/614,后续各篇不再重复贴。
