12. 秒杀系统架构设计案例分析
2019-08-05 本文已影响0人
今天不想掉头发
一. 秒杀活动的技术挑战
- 对现有网站业务造成冲击:秒杀只是一个附加活动,如何和原有应用部署在一起,可能会对现有业务造成冲击
- 高并发下的应用、数据库负载
- 突然增加的网络及服务器带宽
- 直接下单:下单页面只是一个普通URL,不能泄露这个URL
二. 秒杀系统的应对策略
- 秒杀系统独立部署
- 秒杀商品页面静态化:使得用户请求不需要经过应用服务的业务逻辑处理,也不需要访问数据库
- 租借秒杀活动网络带宽(将秒杀页面缓存在CDN)
- 动态生成随机下单URL:在下单页面URL加入由服务端生成的随机数作为参数,秒杀开始才可以得到
三. 秒杀系统架构设计
秒杀界面应该尽量简单,而且最后只有第一个提交的订单发送给网站的订单子系统
-
如何控制秒杀商品页面购买按钮的点亮:使用js脚本控制,js中加入秒杀是否可以和下单页面URL的随机数参数,当秒杀开始的时候生成一个新的js文件被用户浏览器加载,控制秒杀商品页面的展示。
image.png -
如何只允许第一个提交的订单被发送到订单子系统:控制进入下单页面的入口,只有少数用户能进入下单页面,其他用户直接进入秒杀结束页面。
image.png
image.png