《大型网站技术架构:核心原理与案例分析》拜读总结,第十二章——秒杀系统架构设计案例分析

秒杀系统不能使用正常网站业务流程,也不能和正常网站交易公用服务器,必须部署专门的秒杀系统、

技术挑战:

1.对现有网站业务造成冲击:

时间段,并发访问量大,如果和原有应用部署在一起,稍有不慎可导致整个网站瘫痪

独立部署,

2.高并发下的应用,数据库负载

若按照一般的应用架构访问服务器,连接数据库,会造成极大的负载压力

秒杀页面静态化,商品描述,商品参数,成交记录和评价全部写入一个静态页面,用户请求不需要经过业务服务器,不用访问数据库

3.突增的网络及服务器带宽

租借带宽

4.直接下单

下单页面也是个普通的URL,如果得到这个URL,不等到秒杀开始就可以下单了。

动态生成随机下单页面URL,在下单页面URL加入由服务器端生成的随机数作为参数,在秒杀开始的时候才能得到。


架构设计:

1.页面设计尽可能简单

2.购买按钮只有在活动开始时才亮

使用JS控制,在静态页面中加入JS文件引用,文件中加入秒杀是否开始的标识和下单页面URL的随机数参数,秒杀开始时生成一个新的JS并被浏览器加载,控制秒杀商品页的展示,JS文件使用随机版本号,不能被浏览器,CDN,反向代理服务器缓存。

3.下单页面尽可能简单,购买数量只能是1,不能修改,送货地址和付款方式使用默认,没有也可不填,允许订单提交后修改,

只允许第一个提交的订单提交到订单子系统:

为减轻下单页面服务器的压力,控制进入下单页面的入口,只有少数用户进入下单页面,其余用户进入秒杀结束页面。

猜你喜欢

转载自blog.csdn.net/zhuyong7/article/details/72773896