微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

秒杀系统设计

秒杀系统特点

  • 时间极短、 瞬间用户量大。

秒杀系统需要新建一个项目+数据库来搞?

是的

  • 秉着"单一职责"的原则,还是需要另外搞一套系统来做秒杀系统
  • 另外就是,秒杀系统出问题的几率还是比较大的,如果影响到正常的商城系统,那就得杀个程序员祭天了
  • 但是一些流量不大的微服务还是可以调用的,例如商品详情微服务

恶意请求(脚本+黄牛疯狂提交)

秒杀链接加盐

  • 高防cdn看能不能对请求进行过滤
  • URL动态化

流量特别高

从整个网络链路的开始就对流量进行限制

  • 前端限流
    一般秒杀不会让你一直点的,一般都是点击一下或者两下然后几秒之后才可以继续点击
  • 静态资源放在cdn服务器
  • 恶意请求拦截
  • 后端限流
    • 限流&降级&熔断&隔离
    • sentinel,hystrix
  • 利用mq削峰填谷
  • 库存预热
    • 就是把数据放到redis中去
  • redis集群
    • 读写分离:这个时候就需要用lua脚本进行写操作,因为读的数据不一定正确,必须保证库存>0

超卖

  • redis+lua脚本进行扣库存操作.

数据库崩溃

  • 需要层层削峰,库存扣除在redis

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐