秒杀的系统设计
資深大佬 : vnex 1
我看,秒杀的一些系统设计,似乎都是根据商品 ID hash 到同一个逻辑节点,然后在逻辑节点里面,排队处理
那么为什么不是分散到其他节点,基于分布式锁来处理呢?一样可以保证一致性
目前在想,是不是因为,如果基于分布式锁的话,那么没有抢到锁,只能返回秒杀失败,这样可能导致,商品依旧有库存,但是因为抢的时候,刚好有其他用户抢锁了,导致秒杀失败
谢谢
大佬有話說 (9)
我看,秒杀的一些系统设计,似乎都是根据商品 ID hash 到同一个逻辑节点,然后在逻辑节点里面,排队处理
那么为什么不是分散到其他节点,基于分布式锁来处理呢?一样可以保证一致性
目前在想,是不是因为,如果基于分布式锁的话,那么没有抢到锁,只能返回秒杀失败,这样可能导致,商品依旧有库存,但是因为抢的时候,刚好有其他用户抢锁了,导致秒杀失败
谢谢
我看到有介绍说,在连接层,添加一个新的映射关系,老 ID 走老的映射,新 ID 走新的映射
但是
像抢红包,红包可以放 24 小时,入会处理峰值时的请求呢?靠单个节点排队吗?
高并发,应该是 节点无状态+cache+分库分表,读写分离主从