参考书籍 | 《大型网站技术架构》 | 李智慧
整理 | 公众号 | Justin谈开发
一、什么是秒杀?
秒杀是电商常见的一种营销手段:将少量的商品,以极低的价格,在特定的时间点开始出售,网站通过这种营销手段,制造某种轰动效应,从而达到网站推广的目的,秒杀虽然对网站推广有很多好处,但是对网站技术却是极大的挑战:网站是为正常运营设计的,而秒杀活动带来的并发访问用户却是平时的数百倍甚至上千倍,网站如果为秒杀时的最大并发访问量去设计部署,就需要比正常运营多很多服务器,而这些服务器在大多数时候都是用不上的,对于成本而言就比较浪费了,所以秒杀业务不能使用正常的网站业务流程,也不能和正常的网站交易业务公用一台服务器,必须设计部署专门的秒杀系统,进行专门应对。
二、秒杀的技术挑战
三、秒杀系统的应对策略
四、秒杀系统架构设计
秒杀系统是为秒杀而设计,不同于一般的网购行为,参与秒杀活动的用户更关心的是如何快速刷新商品页面,在秒杀开始的时候抢先进入下单页面,而不是秒杀商品的详情页用户体验细节,因此秒杀系统页面设计应该尽可能的简单,下单表单也尽可能的简单,购买数量只能是一个且不能修改,送货地址和付款方式都使用用户默认设置的,没有默认也可以先不填,允许等订单提交之后修改;只有第一个提交的订单发送给网站的订单子系统,其余用户提交订单后只能看到秒杀结束的页面,另外还有下面几点需要注意的:
这个js文件非常小,即使每次浏览器刷新都访问js文件服务器也不会对服务器集群和网络带宽造成太大的压力。
秒杀整体系统架构如下图: