头版Folia Daily Briefing
← 返回头版
科技互联网

Shopify用MySQL取代Redis处理库存预留,成功应对黑五销售峰值

Shopify将库存预留系统从Redis迁移至MySQL,成功支撑了2025年黑五购物节的高并发需求[1]。该时期平台达到每分钟510万美元的销售峰值,较上年增长11%[1]。

迁移方案充分利用了MySQL 8的SKIP LOCKED特性,采用一行一个库存单位的设计架构[1]。每个商品与位置的组合维护1000行的有限库存池,在突发流量吸收能力和查询性能间取得平衡[1]。通过改进复合主键设计,Shopify将每次预留操作所需的锁数从2个降低至1个[1]。同时采用READ COMMITTED隔离级别来避免间隙锁对补充操作的阻塞[1]。

在优化过程中,Shopify团队发现真正的瓶颈并非来自查询性能,而是数据库连接池被其他业务流程长期占用[1]。通过在ProxySQL层使用SQL注释标签追踪连接时间,问题得以定位[1]。随后的数据库清理和配置优化移除了50%的读操作和33%的事务,实现了系统容量扩展[1]。迁移期间,Shopify采用影子模式同时运行Redis和MySQL进行验证,逐步灰度切换以确保稳定性[1]。


ShopifyMySQLRedis库存管理数据库优化SKIP LOCKED