您当前的位置: 首页 > 

杨林伟

暂无认证

  • 1浏览

    0关注

    3337博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

淘东电商项目(77) -秒杀系统(小结)

杨林伟 发布时间:2020-05-26 13:46:53 ,浏览量:1

引言

本文代码已提交至Github,有兴趣的同学可以下载来看看:https://github.com/ylw-github/taodong-shop

秒杀系统的代码在前面博客已经实现了,有兴趣的同学可以参阅下:

  • 《淘东电商项目(73) -秒杀系统(前端优化)》
  • 《淘东电商项目(74) -秒杀系统(库存超卖解决方案》
  • 《淘东电商项目(75) -秒杀系统(用户操作频率限制)》
  • 《淘东电商项目(76) -秒杀系统(完整代码实现)》

本文目录结构: l____引言 l____ 1.小结

1.小结

下面贴上我自己整理的原理图,如下:

在这里插入图片描述

前端:
  1. 使用动静分离、将静态资源存放到第三方文件服务器中实现cdn加速,目的减轻秒杀抢购带宽。
  2. 当用户点击秒杀按钮的时候,应该将按钮disabled(禁止),防止重复提交。
  3. 使用复杂的图形验证码防止机器模拟。
  4. 秒杀详情页面,使用定时器根据用户信息查询秒杀结果。
  5. 商品的详情页面使用nginx+lua+openresty 实现静态化页面。
网关:
  1. Ratelimter、Nginx、Hystrix、Redis实现限流( 令牌桶+漏桶算法) , 对用户秒杀请求实现限流和服务保护。
  2. 用户黑名单和白名单拦截。
秒杀接口:
  1. 服务降级级、隔离、熔断。
  2. 从redis中获取秒杀的令牌(能够获取到令牌就能够秒杀成功,否则就秒杀失败!)。
  3. 异步使用MQ执行修改库存操作。
  4. 提供一个根据用户信息查询秒杀结果接口。
项目部署点:
  1. Nginx+lvs 实现服务高可用和集群
  2. docker扩容
其他点:
  1. 分时段抢购

具体例子:现在有100个商品同时秒杀抢购,每个商品库存为100个? 基于mq+库存令牌桶 100*100=10000, 数据库执行修改库存操作压力还是非常大? 最靠谱的访问,可仿照12306分时段秒杀(中午、下午) 。

关注
打赏
1662376985
查看更多评论
立即登录/注册

微信扫码登录

0.2289s