电商超卖

 1、前端三板斧【扩容】【限流】【静态化】

 2、后端两条路【内存】+【排队】




问题的根本是一件商品的库存只有一个数,大量并发要 select/update-1 就会出现事务锁冲突,这个完全时逻辑冲突。

解决的办法时将库存数分成若干大池,
比如商品A一共有5000件,可以分为100个池子,每个池子50件。
所有的并发请求根据用户ID hash 到特定的池子,看还有无富余,这样原先单一序列化排队就分散成100个小的序列化排队,从而减少的冲突,系统并发锁等待时间降低了。

当然,可以某用户hash到的池子没有商品,但是其他池子里有,那么他用不了,对于较大的用户量来说,这都不是问题,因为申请者数量远远大于提供的配额。



分布式session同步(解析IP的时候统一用户在不同页面可能解析到不同IP的主机上所以要实现session跨域)

1.存数据库 缺点加大数据库访问

2.cookies  用户可能禁用 cookies也可以伪造

3.memcache  比较好

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值