中小企业改造系统适应秒杀的场景

173 阅读1分钟

对中小企业的网站来说,商品的秒杀或者抽奖等活动时会造成服务的崩溃,但做活动或者营销还是必须的,针对这类问题,因工期比较紧急,不适合对现有系统做较大的改动,使用外面的工具有很难控制隐私的保护,也不能够获取到第一手资料,如何以最小的代价来满足这类企业的需求呢?

下面是我的一点思考。架构图如下:

说明如下:使用1000并发以下的场景

  1. 商品页面对秒杀商品做特殊标记,如类型,报文头等等
  2. 验证用户最重要,先判断用户是否存在,是否已经抢购过,是否白名单或者黑名单等等,用户验证要截掉绝大部分非正常流量
  3. 进入排队序列
  4. 原流程增加读取排队队列,控制频率,减少正常业务压力
  5. 原程序也要限制并发数目,如使用信号量(Semaphore)来限制每台应用服务的并发量不超过200

最核心的其实时用户验证这块,这部分时流量的第一道闸。