当前位置: 首页 > news >正文

Shopify库存预留难题:从Redis到MySQL,突破高并发交易瓶颈!

【导语:在电商系统中,库存预留操作至关重要。Shopify此前依赖Redis运行超卖保护系统,转向统一数据库战略时面临MySQL能否扛住规模的问题。经探索,Shopify实现了从Redis到MySQL的切换,为高吞吐互斥场景提供了新思路。】


Redis模型局限凸显

Shopify原有的Redis系统中,每件商品有一个quantity key,预约库存执行DECR命令,释放执行INCR。但预约和库存账本分别存在于两个不同的系统,支付成功后更新MySQL和清理Redis无法在单一原子步骤中完成,可能导致超卖或欠卖。

此外,Redis模型不支持多仓库库存感知,还增加了单独维护一个集群的运营成本。

SKIP LOCKED解锁新方案

核心设计思路是“每件库存一行记录”,以10件库存的商品为例,新设计会有10行记录。预约3件意味着在单个事务中选取并移动3行,通过将预约和库存账本保持在同一数据库,获得了跨reserve和claim的ACID保证。

MySQL 8.0的SKIP LOCKED特性是实现可扩展性的关键,在高频预约场景下,不同事务之间不会相互阻塞。同时,为支撑超大规模场景,维护一个有限容量的可用行池,每种商品/仓库组合最多1000行。

连接数成真正瓶颈

在生产环境负载测试时,团队发现吞吐量远低于目标,但预约延迟(P90)可接受,CPU也未满载。经分析,其他业务逻辑长时间持有连接消耗了连接池,导致预约成为“压垮骆驼的最后一根稻草”。

清理Checkout路径后,主数据库的读取减少了50%,事务减少了33%。重新评估MySQL配置,增加线程并发配置,移除了此前未发现的瓶颈。

“影子模式”平稳切换

团队采用“影子模式”并行运行,每次预约同时写入Redis和MySQL,Redis保持为数据源。并排比较两个系统,验证MySQL产生了正确的业务结果且满足性能要求后,再将数据源切换为MySQL。整个切换过程逐步进行,从低流量Pod开始,逐步扩展到最高容量商家。

编辑观点:Shopify的实践表明,现有数据库也能处理高吞吐工作负载,解决问题需全面排查,真正的瓶颈可能藏在未关注之处。

http://www.cnnetsun.cn/news/2514799.html

相关文章:

  • 【限时解密】DeepSeek未公开的云原生安全加固框架:零信任网关+OPA策略引擎+WASM沙箱,3大生产环境漏洞拦截率99.97%
  • PYNQ开发板启动实验:从镜像烧写到Jupyter连接全流程指南
  • 【NotebookLM高阶用户必读】:P值≠显著性!5个被90%用户误读的关键陷阱
  • 多模态AI搜索:让电商搜索看懂图、听懂话、读懂人
  • 为什么你的Perplexity检索总返回无关结果?5步诊断流程+4类典型误配案例,立即生效
  • CLIPDraw手绘生成:用文本控制矢量线条的AI绘画新范式
  • ToastFish:利用碎片时间高效背单词的终极解决方案
  • Bazzite:重新定义Linux游戏体验的云原生操作系统
  • ESXi上跑TrueNAS,SMB共享速度慢?手把手调优网络与存储配置,榨干千兆带宽
  • OpenClaw从入门到应用——自动化:身份验证监控
  • python智能ai技术的智慧城市便民服务管理中心平台_668r7c05
  • Mythos模型如何重塑AI安全与软件开发范式
  • 信步SER SV-620嵌入式主板深度解析:双路Xeon、14 SATA与IPMI管理实战
  • 利用Taotoken多模型能力为内容创作平台提供AI写作支持
  • DALI调光通信避坑指南:从1200波特率到定时器溢出,我的BIT解码调试实录
  • LM567芯片的“隐藏技能”:从音频解调到红外检测,一个老芯片的电路设计实战
  • AI算力基建的能源困局:电网老化与太空数据中心的现实博弈
  • 如何用Python自动识别ElevenLabs输出语音是否触发青少年保护机制?开源检测脚本+实时响应策略(限24小时领取)》
  • 解锁微信QQ语音的钥匙:silk-v3-decoder音频转换全攻略
  • Agent成本治理全景图:Token优化、缓存策略与模型选择的经济学分析
  • CANN-昇腾NPU分布式训练-8卡到64卡怎么线性扩展
  • KMS智能激活脚本:让Windows和Office永久激活不再是难题
  • 深度解析YOLOv8在ROS 2中的智能视觉集成方案:5大优势与实战指南
  • XU9250B,输入电压范围:2.7V至16V 7A异步升压芯片
  • XZ4058B/C,20V,外置MOS,8.4V/8.7V开关充电芯片
  • 十年后再看OpenSSL心脏滴血漏洞:用Docker+Metasploit复现CVE-2014-0160,手把手教你理解内存泄漏
  • AI系统性偏差审计:从数据选择到人类认知的七类方法论漏洞
  • Mythos模型的技术本质:执行态建模与终端状态感知
  • STM32F405RG驱动24V无刷电机:从看懂霍尔换相表到代码实战避坑
  • 泉盛UV-K5/K6开源固件:如何将百元对讲机升级为专业无线电设备?