淄博网站建设app开发为什么要做手机网站开发
2026/2/19 22:11:14 网站建设 项目流程
淄博网站建设app开发,为什么要做手机网站开发,新站突然网站停止收录,建一个网站首先要怎么做一、扣减库存的三种方案 #xff08;1#xff09;下单减库存   用户下单时减库存 优点#xff1a;实时减库存#xff0c;避免付款时因库存不足减库存的问题 缺点#xff1a;恶意买家大量下单#xff0c;将库存用完#xff0c;但是不付款#xff0c;真正想买的人买不…一、扣减库存的三种方案1下单减库存用户下单时减库存优点实时减库存避免付款时因库存不足减库存的问题缺点恶意买家大量下单将库存用完但是不付款真正想买的人买不到2付款减库存下单页面显示最新的库存下单时不会立即减库存而是等到支付时才会减库存。优点防止恶意买家大量下单用光库存避免下单减库存的缺点缺点下单页面显示的库存数可能不是最新的库存数而库存数用完后下单页面的库存数没有刷新出现下单数超过库存数若支付的订单数超过库存数则会出现支付失败。3预扣库存下单页面显示最新的库存下单后保留这个库存一段时间比如10分钟超过保留时间后库存释放。若保留时间过后再支付如果没有库存则支付失败。例如要求30分钟内支付订单。优点结合下单减库存的优点实时减库存且缓解恶意买家大量下单的问题保留时间内未支付则释放库存。缺点保留时间内恶意买家大量下单将库存用完。并发量很高的时候依然会出现下单数超过库存数。二、如何解决恶意买家下单的问题这里的恶意买家指短时间内大量下单将库存用完的买家。1限制用户下单数量优点限制恶意买家下单缺点用户想要多买几件被限制了会降低销售量2标识恶意买家优点卖家设定一个备用库存当支付时库存已用完扣减备用库存数这就是常见的补货场景缺点因高并发场景下数据可能存在不一致性的问题三、如何解决下单成功而支付失败库存不足的问题1备用库存商品库存用完后如果还有用户支付直接扣减备用库存。优点缓解部分用户支付失败的问题缺点备用库存只能缓解问题不能从根本上解决问题。另外备用库存针对普通商品可以针对特殊商品这种库存少的备用库存量也不会很大还是会出现大量用户下单成功却因库存不足而支付失败的问题。四、如何解决高并发下库存超卖的场景库存超卖最简单的解释就是多成交了订单而发不了货。场景用户A和B成功下单在支付时扣减库存当前库存数为10。因A和B查询库存时都还有库存数所以A和B都可以付款。A和B同时支付A和B支付完成后可以看做两个请求回调后台系统扣减库存有两个线程处理请求两个线程查询出来的库存数 inventory10然后A线程更新最终库存数 lastInventoryinventory - 1 9B线程更新库存数 lastInventoryinventory - 1 9。而实际最终的库存应是8才对这样就出现库存超卖的情况而发不出货。那如何解决库存超卖的情况呢1.SQL语句更新库存时如果扣减库存后库存数为负数直接抛异常利用事务的原子性进行自动回滚。2.利用SQL语句更新库存防止库存为负数UPDATE [库存表] SET 库存数 - 1 WHERE 库存数 - 1 0如果影响条数大于1则表示扣减库存成功否则订单失败并退款。智能体编程五、秒杀场景下如何扣减库存1下单减库存因秒杀场景下大部分用户都是想直接购买商品的可以直接用下单减库存。大量用户和恶意用户都是同时进行的区别是正常用户会直接购买商品恶意用户虽然在竞争抢购的名额但是获取到的资格和普通用户一样所以下单减库存在秒杀场景下恶意用户下单并不能造成之前说的缺点。而且下单直接扣减库存这个方案更简单在第一步就扣减库存了。2将库存放到redis缓存中查询缓存要比查询数据库快所以将库存数放在缓存中直接在缓存中扣减库存。然后在通过MQ异步完成数据库处理。3使用量自增方式可以先增加已使用量然后与设定的库存进行比较如果超出则将使用量减回去。项目中用到了很多机制但是没有总结出来学习架构需要不断地总结。六 第三方支付1 支付成功多次回调把减库存放在微信支付的成功回调URL的方法里面。但是微信支付成功之后微信支付平台会发送8次请求到回调地址。这样的做法就会导致库存减少一定要验证返回的编号是否已经完成扣减。https://blog.csdn.net/shanchahua123456/article/details/86709622

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询