Технологии / На русском

Shopify заменил Redis на MySQL для резервирования склада — система выдержала Black Friday 2025

Инженеры использовали SKIP LOCKED и one-row-per-unit модель; узким местом оказались не запросы, а connection pool checkout.

В инженерном блоге 12 мая 2026 года (HN поднял тему 8 августа) команда описала отказ от quantity-row в пользу bounded pool до 1000 строк на item/location с MySQL 8 SKIP LOCKED, composite primary key и isolation READ COMMITTED для replenishment.

Переход шёл в shadow mode с dual-write в Redis и MySQL, затем постепенным cutover pod-by-pod. Неожиданный потолок throughput оказался связан не с CPU запросов резервирования, а с тем, что другие этапы checkout долго держали соединения с БД; SQL-комментарии conn_tag через ProxySQL выявили «соседей», после чистки checkout primary load снизился на 50% reads и 33% transactions.

Статья позиционирует кейс как аргумент пересмотреть старые решения «только Redis/Kafka» при современных возможностях MySQL.

Технический разбор: Технический разбор
Источник: Shopify Engineering