场景需求

在秒杀活动或者是11.11或者6.18场景中,对于某个商品在某个时间段,瞬间出现大量的的购买订单,导致库存读取不正确,销售量超过了实际的库存,但是超卖了

  1. 商品秒杀活动
  2. 11.11或者6.18

场景分析

todo

解决方案

适用架构: 单体架构
锁也是在单体架构中也是一个选择

  1. synchronize
  2. Lock

锁的实现有很多其他的方式,但是原理大概都是相同的。

优缺点

优点 缺点
不依赖第三方,比较简单 不适用分布式架构,而且比较重,性能消耗比较大

Redis + Lua

适用架构:单体+分布式

Redis

原理:redis本身支持多线程,操作是队列有序的

分析

setNx语句支持,Redis Setnx(SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值。

Redis + Lua

原理
  1. 将在java中的非原子操作放在redis支持的原子操作脚本Lua中执行
  2. redis操作的单线程性,操作脚本是队列操作

分析(伪代码)

java代码

redis + lua代码

Redission

适用结构: 分布式结构(单体结构也适用,但是会牺牲部分的性能)

Redission是Alibaba开源的一个分布式锁,同时它基于redis,其实它的实现原理也是使用redis+lua

参考

1. 爆赞!商品秒杀巧用Redis与Lua预防库存超卖~

2. 快速入门Redis调用Lua脚本及使用场景介绍

电商之库存超卖或者秒杀超卖问题相关推荐

  1. 电商库存系统设计mysql_详解:电商系统库存逻辑的设计

    原标题:详解:电商系统库存逻辑的设计 本文主要对电商平台的订单系统相关库存逻辑进行了详细的阐述,一起来文中看看~ 一.库存的概念 电商的业务场景中订单的流程常常伴随着库存的变化:对于erp来说,库存可 ...

  2. Java开源生鲜电商平台-深刻理解电商的库存架构与解决方案(源码可下载)

    https://www.cnblogs.com/jurendage/p/9227283.html 说明:一般电商的库存都是跟SKU相关联的,那么怎么样才能进行SKU的库存管理呢?有以下几种方式与方法: ...

  3. 电商平台-深刻理解电商的库存架构与解决方案

    说明:一般电商的库存都是跟SKU相关联的,那么怎么样才能进行SKU的库存管理呢?有以下几种方式与方法: 一.七大库存分类 首先得学习什么是库存,库存的分类吧,OK,Let'go. 库存,从字面上的理解 ...

  4. 电商网站50W-100W高并发,秒杀功能是怎么实现的?

    电商网站50W-100W高并发,秒杀功能是怎么实现的? 在淘宝.天猫.京东等国内大型电商平台"造节"的带领下,国内各电商平台纷纷跟进,双十一.双十二.618等电商专属节日也吸引了大 ...

  5. java大型wms架构设计_Java生鲜电商平台-库存管理设计与架构

    Java生鲜电商平台-库存管理设计与架构 WMS的功能: 1.业务批次管理 该功能提供完善的物料批次信息.批次管理设置.批号编码规则设置.日常业务处理.报表查询,以及库存管理等综合批次管理功能,使企业 ...

  6. 商城前后端原型、商城prd文档、商城后台管理系统、商城app文档、电商需求文档、限时秒杀、电商平台、促销助力、拼团抽奖、电商文档、prd文档、电商前后端原型、电商原型、Axure电商系统、rp原型

    商城前后端.商城prd文档.商城后台管理系统.商城app文档.电商需求文档.限时秒杀.电商平台.促销助力.拼团抽奖.电商文档.prd文档.电商前后端原型.电商原型.Axure电商系统.rp原型 Axu ...

  7. 电商平台-库存管理设计与架构

    说明:Java开源生鲜电商平台-库存管理设计与架构有以下几个功能 WMS的功能: 1.业务批次管理 该功能提供完善的物料批次信息.批次管理设置.批号编码规则设置.日常业务处理.报表查询,以及库存管理等 ...

  8. Java实现对货物抽检_Java开源生鲜电商平台-库存管理设计与架构(源码可下载)...

    Java开源生鲜电商平台-库存管理设计与架构(源码可下载) 说明:Java开源生鲜电商平台-库存管理设计与架构有以下几个功能 WMS的功能: 1.业务批次管理 该功能提供完善的物料批次信息.批次管理设 ...

  9. 电商扣减库存_如何保障电商仓储库存的准确性

    电商库存是电商企业最关心的指标,而且针对仓库库存管理的方法也有很多种,原因是库存管理往往是压死企业的最后一根稻草.电商的一大优势就是较高的产品周转效率和资金使用效率,特别是随着供应链的延伸和大数据的应 ...

  10. 2023年做跨境电商选择马来西亚可以吗?为什么?卖什么好?

    2023年加入跨境电商的小伙伴有增无减,不少小伙伴在问,2023年做跨境电商选择马来西亚可以吗?为什么?卖什么好?今天我们大家一起来简单聊聊吧! 2023年做跨境电商选择马来西亚可以吗?为什么? 20 ...

最新文章

  1. MySQL数据库将查询结果插入到其它表中
  2. 一个popup弹窗实现思路--(基于mintui分析)
  3. linux socket 错误 Transport endpoint is not connected 在 recv shutdown 中的触发时机
  4. python基础入门(8)之集合
  5. 遥远的救世主:电视剧《天道》
  6. 河北农业大学计算机科学分数线,河北农业大学现代科技学院计算机科学与技术专业2016年在河北理科高考录取最低分数线...
  7. Druid连接池(一)
  8. robocopy 备份_windows下使用RoboCopy命令进行文件夹增量备份
  9. Nmap扫描端口常用指令
  10. 接入百度智能云文字识别OCR记录
  11. ffmpeg加马赛克
  12. ARM ADS中的AXD 调试经验集锦
  13. 泊松分布的期望和方差
  14. 三、Windows Server 2016各版本说明
  15. Bitwise Operation
  16. iOS自动构建以及打包命令(xcodebuild,xcrun)
  17. linux内核中linux中readl()和writel()函数---用于读写寄存器
  18. 便捷节省的自动双面打印机或将成为趋势
  19. centos挂载和取消挂载
  20. adreno源码系列(五)打开kgsl

热门文章

  1. 不仅仅是玩具,Python带你解读不一样的乐高
  2. 英雄联盟的计算机知识,win7系统玩LOL常常自动关机问题详解
  3. NSData转为Int
  4. 趣图:程序员VS.黑客
  5. 第2章 交换机基础配置
  6. PHP设计网站留言功能
  7. 卷积神经网络中的感受野
  8. SIM基本常识(PIN,PUK,IMEI,ICCID,Ki,IMSI,SMSP)
  9. 数学建模经验谈(超实用)
  10. GridView分页操作