网购秒杀系统架构设计
秒杀是电子商务网站常见的一种营销手段:将少量的商品以极低的价格,在特定的时间点开始出售。秒杀对网站的推广有很多好处,也能给消费者带来利益,但是对网站技术却是极大的挑战:网站是为正常运营设计的,而秒杀活动带来的并发访问用户却是平时的百倍甚至上千倍。网站如果为秒杀时的高并发量进行设计部署,就需要比正常运营多得多的服务器,而这些服务器在绝大多数时候都是用不着的,梁飞惊人。所以网站的秒杀业务不能使用正常的网站业务流程,也不能和正常的网站交易业务公用服务器,必须设计部署专门的秒杀系统。
一、秒杀活动的技术挑战
- 对现有网站业务造成冲击
- 高并发下的应用个,数据库负载
- 突然增加的网络和服务器宽带
- 直接下单:秒杀时间一到,就立即下单,在此之前只能查看商品详情。
二、秒杀系统的应对策略
1. 秒杀系统独立部署
为了防止秒杀活动的高并发量访问而拖垮整个网站,使整个网站不必面对蜂拥而来的用户访问,可将秒杀系统独立部署;也可以使用独立的域名,使其与网站完全隔离,即使秒杀系统崩溃了,也不会对网站造成任何的影响。
2. 秒杀商品页面页面静态化
将商品描述、商品参数、成交记录和用户评价全部写入一个静态页面,用户请求不需要经过应用服务器的业务逻辑处理,也不需要访问数据库。所以秒杀商品服务不需要部署动态的Web服务器和数据库服务器。
3. 租借秒杀活动网络宽带
因为秒杀新增的网络宽带,必须和运营商重新购买或者租借。为了减轻网站服务器的压力,需要将秒杀商品页面缓存在CDN,同样需要和CDN服务商临时租借新增的出口宽带。
4. 动态生成随机下单页面URL
为了避免用户直接访问下单页面的URL,需要将URL动态化,即使秒杀系统的开发者也无法在秒杀活动之前访问下单页面的URL。办法是在下单页面的URL加入由服务器端生成的随机数作为参数,在秒杀活动开始的时候才能得到。
三、秒杀系统架构设计
秒杀系统是为了秒杀而设计的,用户注重的是如何快速刷新界面,并且在第一时间抢先进入秒杀界面秒杀成功,而商品详情评价等并不是用户最注重的,因此秒杀系统的界面应该设计的尽可能简单。
1. 如何控制秒杀商品页面购买按钮的点亮
解决办法:使用JavaScript脚本控制。在秒杀商品静态页面中加入一个JavaScript文件引用,该JavaScript文件中加入秒杀是否开始的标志和下单页面URL的随机数参数,当秒杀开始的时候生成一个新的JavaScript文件冰杯用户浏览器加赞,控制秒杀商品页面的展示。
2. 如何只允许第一个提交的订单被发送到订单子系统
为了减轻下单页面服务器的敷在压力,可以控制进入下单页面的入口,只有少数用户能进入下单页面,其他用户直接进入秒杀结束的页面。如图:
参考自:《大型网站技术架构.核心原理与案例分析》
最近发现 心稍微一急 或者心里惦记个啥事儿,就头疼发烧…(做鬼脸的表情)say byebye…
网购秒杀系统架构设计相关推荐
- 系统架构设计——网购秒杀系统架构设计
网购秒杀系统架构设计 秒杀是电子商务网站常见的一种营销手段:将少量商品(通常只有一件)以极低的价格,在特定的时间点开始出售.比如一元钱的手机,五元钱的电脑,十元钱的汽车等.因为商品价格诱人,而且数量有 ...
- 网购秒杀系统架构设计案例分析
大型网站技术架构-核心原理与案例分析 作者:李智慧 申明:文章版权归作者所有,若有侵权,请联系删除 秒杀是电子商务网站常见的一种营销手段:将少量商品(通常只有一件)以极低的价格,在特定的时间点开始出售 ...
- 网购秒杀系统架构设计案例分析——《大型网站技术架构》笔记
一.核心思想: 网站秒杀时的并发比正常运营时多的多,所以网站的秒杀业务不能使用正常的网站业务流程,也不能和正常的网站交易业务共用服务器(否则造成巨大浪费),必须设计部署专门的秒杀系统,进行专门应对 二 ...
- 案例3:网购秒杀系统架构设计案例
秒杀系统应对策略: 1.秒杀系统独立部署 2.秒杀商品页面静态化 3.租借秒杀活动网络带宽 4.动态生成随机下单页面URL 秒杀系统架构设计 1.秒杀系统页面设计尽可能简单 2.购买按钮只有活动开始时 ...
- 网购秒杀系统架构设计 1
本文是「大型网站技术架构 - 核心原理与案例分析」 第 12 章的学习笔记,感兴趣的朋友可以去购买 目录: 秒杀活动的技术挑战 秒杀活动的应对策略 秒杀系统架构设计 一.秒杀活动的技术挑战 场景: 某 ...
- 【架构设计】————12、网购秒杀系统架构设计案例分析
12.1 秒杀活动的技术挑战 12.2. 秒杀系统的应对策略 参见:<网站设计架构:核心原理与案例分析>
- 第十二章 网购秒杀系统架构设计案例分析(待续)
······ 转载于:https://www.cnblogs.com/hzzjj/p/9825804.html
- 浅谈秒杀系统架构设计
秒杀是电子商务网站常见的一种营销手段. 原则 不要整个系统宕机. 即使系统故障,也不要将错误数据展示出来. 尽量保持公平公正. 实现效果 秒杀开始前,抢购按钮为活动未开始. 秒杀开始时,抢购按钮可以点 ...
- 秒杀系统架构设计与分析
秒杀系统架构分析与实战 2016-01-18陶邦仁Qunar技术沙龙 1 秒杀业务分析 正常电子商务流程 (1)查询商品:(2)创建订单:(3)扣减库存:(4)更新订单:(5)付款:(6)卖家发货 秒 ...
最新文章
- sizeof运算求结构体大小
- 关闭不安全端口的脚步
- C++:cin、cin.getline()、getline()的用法
- 【HibernateHibernate实体关系映射——双边的多对一、一对多关系
- Java并发性-任务反馈
- eclipse中项目内存溢出问题
- android edittext获取 time值,在Android EditText中实现日期时间选择器(DatePicker和TimePicker)...
- PAT 1059 Prime Factors[难]
- iOS中Storyboard使用要点记录
- 在xp系统如何把文件上传到ftp服务器,xp系统怎么上传到ftp服务器
- 常用字体名称中文对应英文
- 固态硬盘是什么接口_硬盘接口/SSD固态硬盘
- C语言基本的窗口开发
- 什么是SSR(服务器渲染)
- python sendkeys用法_sendkeys用法详解
- 我的爬虫 之 爬今日头条街拍图片
- 免费开源的几款Web服务器软件简介
- Unity 鼠标拖动UI
- 适量饮酒,对身体好?医生说:恰恰相反!
- [评论送书]html+css+js制作旋转爱心