怎样设计一个秒杀系统

怎样设计一个秒杀系统

概述

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

方案

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

总结

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

猜你喜欢

转载自blog.51cto.com/xxdeelon/2532776