秒杀的后端系统如何根据前端业务需求做调整?

秒杀是电商平台最常用的促销活动,例如京东淘宝等主流电商平台把秒杀、抢购作为一个功能入口存在,定期秒杀。

其产品定位在于通过低价促销吸引对价格敏感的用户,起到引流促活,且带动销售。

下图是京东、淘宝的秒杀页面。

那么一个秒杀系统如何搭建?前后端功能如何配合?

都说“前端一小步,后端一大步”,对于C端来说,价格、商品吸引人,我能到特定时间去抢购、付款就可以了。

那么,后端如何做相应的功能支撑呢?

下面我具体阐述一下。

一、秒杀架构

从此架构看出,一个秒杀完整的系统搭建,后端需要有商家报名参与入口、秒杀活动的设置、后台秒杀活动、订单管理等功能。

二、 商家报名流程

平台可以给商家提供这样的功能入口,一旦商家有意愿做秒杀活动,可以发起由平台审核,审核通过即可上架。

商家是否满足要求:是否对参与商家设置门槛,比如经营较好,店铺综合评分较高的店铺方可参与;

提报商品是否满足:比如此商品设置价格合理,是否是违规商品等。

这里我只简单论述,具体需根据每个企业业务性质进行考量。

三、秒杀活动设置

活动信息:包括秒杀时间、渠道、秒杀模板(不会做图的商家可提供模板套用);

活动限制条件:每个用户的限制购买次数、购买数量等;

活动商品:设置活动商品价格、库存、时间段等。

四、秒杀抢购

对于C端用户是否有意愿参与秒杀、是否有心仪的商品、抢购流程是否顺畅等需求点进行考虑。

是否有意愿参与秒杀:首先前端交互效果一定要引人入胜;

是否有心仪商品:价格、商品是否吸引用户;

抢购是否顺畅:活动预热是否充分,可设置提醒/活动开始时候库存是否充足,是否超过限购数量,售完是否可以原价购买等;

下面是我自己整理的秒杀流程图,仅供借鉴。

五、技术层面实现

这部分也是参考一些大神的博客得出的一些技术层面的心得,可能不是很恰当,希望大家指正。

1. 前端高并发

前端常用的方法是扩容、静态化、限流。

扩容:

加机器,这是最简单的方法,通过增加前端池的整体承载量来抗峰值。

举个通俗的例子:

比如我想运送100棵树木,我准备两辆卡车,一辆运50,计算公式就是2辆X50棵/辆X1小时=100棵/小时。

那如果我需要搬运更多的树木,我可以通过增加车辆、也可以增加每辆车的运输量、或者缩短运输时间。

这就是扩容的概念。

静态化:

将活动页面上的所有可以静态的元素全部静态化,并尽量减少动态元素,通过CDN来抗峰值。

限流:

一般都会采用IP级别的限流,即针对某一个IP,限制单位时间内发起请求数量;或者在活动入口,增加游戏或者问题环节进行消峰操作。

有损服务:

最后一招,在接近前端池承载能力的水位上限的时候,随机拒绝部分请求来保护活动整体的可用性。

2. 后端如何解决

方案:本地标记+redis预处理+RabbitMQ异步下单+客户端轮询。

实现:

在秒杀阶段使用本地标记对用户秒杀过的商品做标记,若被标记过直接返回重复秒杀,未被标记才查询redis,通过本地标记来减少对redis的访问。

抢购开始前,将商品和库存数据同步到redis中,所有的抢购操作都在redis中进行处理,通过Redis预减少库存减少数据库访问。

为了保护系统不受高流量的冲击而导致系统崩溃的问题,使用RabbitMQ用异步队列处理下单,实际做了一层缓冲保护,做了一个窗口模型,窗口模型会实时的刷新用户秒杀的状态。

client端用js轮询一个接口,用来获取处理状态。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容

  • #0 系列目录# 秒杀系统架构 秒杀系统架构分析与实战 #1 秒杀业务分析# 正常电子商务流程 (1)查询商品;(...
    Java架构师Carl阅读 1,582评论 0 8
  • 来源:陶邦仁 链接:http://my.oschina.net/xianggao/blog/524943 0 系列...
    meng_philip123阅读 3,514评论 0 65
  • 什么是秒杀 通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动 比如说京东秒杀,就是一种定时定量秒杀,在规定...
    码道功臣阅读 6,020评论 2 79
  • 什么是秒杀 通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动 比如说京东秒杀,就是一种定时定量秒杀,在规定...
    zwb_jianshu阅读 636评论 0 1
  • 什么是秒杀 通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动 比如说京东秒杀,就是一种定时定量秒杀,在规定...
    zwb_jianshu阅读 511评论 0 0