秒杀系统的一些实战经验

秒杀系统的架构原则

保证库存不为负数

大并发情况下商品库存更新问题

超卖

碎片问题

分桶会带来碎片,每个分桶剩余库存少于购买量,但所有分桶加起来又大于购买量。

库存的读取不需要精确性,可以使用localCache来存储库存数量,保证读取的效率,如果秒杀商品减库存逻辑单一,可以在redis之类的缓存中实现;热点商品放到单独的热点库中;解决并发锁有在应用层做排队和在数据库层做排队两种方法

系统高可用建设

异步请求如何返回