秒杀是什么?秒杀的具体技术挑战有哪些?秒杀解决方案的技术细节是什么样的?

打卡Day32:今天学习了《61|性能设计篇之“秒杀”》,我的收获如下:

秒杀

商家为了促销,使用非常低的价格销售商品,比如,1元卖iPhone,100台,于是来了一百万人抢购。

秒杀的流程

秒杀页,倒计时按钮,前端轮询后端,到时间后端返回秒杀URL,点击按钮抢库存,抢到进入支付页面,没抢到返回秒杀结束。

秒杀的技术挑战

怎么应对这100万人同时下单请求?一方面是100万人同时请求,我们的网络带宽不够,另一方面是理论上来说要扛100万的TPS,需要非常多的机器。所有的请求都会集中在同一条数据库记录上。

秒杀的解决方案

引入CD,小服务部署到CDN节点上,统计在线人数回传数据中心,快要开始时传递概率值给小服务,秒杀开始时根据概率值放用户请求到后端数据中心,100万用户放0.02%就是200TPS。

更多的思考

随着请求量越来越大,数据也越来越多,数据中心是有点到瓶颈了,而需要边缘节点来帮忙了。

左耳朵耗子带你重学《左耳听风》

https://time.geekbang.org/column/article/7047