淘宝|网站或小程序开展促销活动时主机撑得住吗?( 二 )

  • 系统去检查商品存在
  • 系统去检查商品库存不为0
  • 系统锁住一个商品 , 让这个商品等待结账
  • 如果结账成功 , 正式扣掉商品库存 -1
  • 如果结账失败 , 把这个商品库存是放给其他人抢购
  • 从以上可以看到 , 3000人都在抢一个商品的数量计算 。  而且有锁住等待结账的时间差 , 再加上物理上 , 这个数字是存在硬盘的某一个位置 , 所有人抢着在硬盘某一个位置读取与写入资料 , 超出物理极限 。
    结果:除了前几十人运气好结账成功 , 后面所有人锁住互卡 , 一个人都买不到 。  主机买再贵都没用 , 因为都在抢同一个物理位置 , 只有分布式系统与排队机制才能解决 。  但这两者都是非常昂贵的 , 后面会再介绍到 。
    案例二:一家老牌拉面店 , 大排长龙 , 店内有三十个座位 。
    如果我们一次开放三百人进店内 , 店里塞爆没位子做 , 一个人都吃不到 , 老板也没办法煮面 。
    可行作法:所有人要么事前预约 , 要么现场拿号码牌叫号排队 , 或者号码牌会直接规定用餐时间几点到几点 , 店内就是一次服务三十人 。  最后一整天可能有一千人可以成功吃到拉面 , 剩下的明天请早 。
    这个案例 , 讲的就是【排队机制】 。  无论如何 , 您都不该让「所有」用户在同一时间抢购 。  应该要让人潮陆续慢慢进场 , 先到者先买 , 这样才能够有效消化流量 。
    排队机制至于排队机制要如何建立 , 假设是大型公司如 Amazon, 可以雇用工程师自己制作 。  但一般小电商不可能负担的起几千万或几亿的云架构成本 , 毕竟这个排队系统本身就要扛大量的负载 。
    所以中小型电商大多是靠外挂排队机制解决 , 电商网站先建立好抢购页面 , 但不要发布网址 。  将这个网址包在排队机制提供的替代网址中 , 将这个替代网址发给网友们 。  当抢购开始时 , 网友大批进入该网址 , 一开始人数不够多时 , 替代网址会放行网友进入网站购买商品 。  但一旦侦测到人潮超过您设定的最高值 , 就开始锁住页面 , 后续的人要等前面的人离开后 , 才能进入网站 。  这样就让网站有了先来后到的机制 , 大家就可以依照顺序购买商品了 。
    经过以上介绍 , 希望有帮助您理解网站承载量的计算方式 , 以及如何善用排队机制来支撑大流量营销活动 。
    如果您还有更多疑问 , 或是想要制作一个高乘载的电商网站或小程序 , 欢迎与联系浪知潮 。