码迷,mamicode.com
首页 > 其他好文 > 详细

怎样设计一个秒杀系统

时间:2020-09-18 00:40:39      阅读:33      评论:0      收藏:0      [点我收藏+]

标签:不同的   image   自己   一点   缓存   结束   就会   库存   思维   

技术图片

概述

秒杀系统的特征就是瞬间流量大、商品总是有限先到先得、有明确的开始和结束时间。

方案

秒杀的时候,先是要在后台设置秒杀库存,秒杀价格,秒杀开始时间和时间,需要参与秒杀的店铺,到了时间就开始进行秒杀,秒杀的时候,会有突发流量,系统如果设置不好,就会瘫痪,一般会进行限流,比如接入端限流,服务端限流,利用缓存、消息队列提高处理速度;其中一个最难处理的问题就是库存的扣减,防止超卖,防止超卖的方法有很多种,对于常规秒杀可以数据库的悲观锁进行库存的更新,对于并发稍微高一点的可以用分布式锁进行防止超卖,对于并发特别高的,可以利用redis缓存的原子性操作,总之对于具体的业务选择不同的实现方案,不要为了高并发而高并发,要根据系统的业务寻求一个平衡点,选择适合自己的方式。

总结

架构需要演化的思维,不要一上来就追求高并发,而是要根据业务的情况及用户使用的情况进行架构设计,不要提前把以后需要设计的东西提前做了,这样过度设计会导致产品过于复杂,难以扩展,是得不偿失的。适可而止的架构加时刻保持演进的变化是最合理的做法。
欢迎关注技术公众号:
技术图片

怎样设计一个秒杀系统

标签:不同的   image   自己   一点   缓存   结束   就会   库存   思维   

原文地址:https://blog.51cto.com/xxdeelon/2532776

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!