Бодрый DevOps! Ранее мы разобрались в архитектуре модульного монолита, сегодня рассмотрим, как и зачем крупнейший сервис Shopify перешел на MySQL на этапе оформления заказов.
Нагрузки на Shopify всегда были высоки, особенно в Черную Пятницу. Прежде для резервирования и оформления товаров компания использовала Redis, но система сталкивалась с ограничениями консистентности между двумя БД. Тогда, инженеры Shopify решили перенести механизм резервирования целиком в MySQL.
В кейсе представили, как команда использовала:
⏺
SKIP LOCKED для совмещенных строк и ACID для обнаружения багов⏺ составные первичные ключи для уменьшения числа блокировок
⏺
READ COMMITTED для борьбы с блокировкой промежутков⏺
UNION ALL для сокращения времени обращений⏺ а также собственную систему наблюдаемости для анализа соединений
Из интересного описали проблемы с пуллом соединений под нагрузкой в MySQL. Здесь можно узнать всё о переходе.
💻Что используете для высоконагруженных систем – Redis или MySQL?
#девопс #БД #MySQL #Redis
