秒杀活动——理论设计

前言

之前公司有做过秒杀项目,由于时间和技术原因,做的一团屎,很惭愧,别人问起来都不知道怎么回答,怎么吹都不知道。现在稍微总结一下应该要注意什么,理论知识。

主要技术

  • 静态资源
  • CDN
  • 缓存
  • 分流
  • 负载均衡
  • 乐观锁
  • 验证码

主要方案

前端

  • 秒杀页面数据的静态化,可以缓存到CDN上面,加快用户访问,同时可以在Nginx层做分流,减轻服务器的压力。
  • 限制用户点击频率

后端

  • 把秒杀活动分离当前系统,避免其他业务受到秒杀活动的波及,要挂也只挂秒杀。
  • 把秒杀商品数据数量当成一个阀值,统计进来的订单数量,如果订单数量大于阀值,后面再进来的订单就直接返回失败,可以通过缓存来做。控流。以免对数据形成压力。
  • 库存使用乐观锁。为什么不使用悲观锁,使用悲观锁的话,对高并发的业务场景下,不太适合。
  • 对IP进行监控,如果某个IP请求量频繁,可以使用验证码对其进行限制,也可以防止机器人或刷单。
  • 如果对用户下单数量有限制,也可以利用redis或其他KV存储做判断。

总结

  • 多使用静态资源
  • 尽量少去"骚扰"数据库
  • 减少写操作
  • 多使用缓存
  • 在用户体验好的情况下,最大程度减少服务器压力
发布了160 篇原创文章 · 获赞 21 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/weixin_43064185/article/details/105276073