🚀 Масштабирование: как справиться с ростом нагрузки?
Интро: Собрался с силами и буду постить понемного о ходе обучения в Яндекс.Практикум, кратко буду рассказывать про темы и ощущения.
Представьте стартап «УОМ» — онлайн-магазин, который начинал с тысяч товаров и сотен заказов в день. Но в Чёрную пятницу, сайт начал тормозить, а клиенты — жаловаться на ошибки.
Проблемы «УОМ»: 🔹 Сервер — один, мощный, но ненадёжный. 🔹 База данных — не справляется с нагрузкой. 🔹 Приложение — падает под нагрузкой, перезапуск занимает время. 🔹 Сайт — работает, но не отказоустойчив, а загрузка контента в других регионах медленная.
Что делать? Масштабировать!
🔹 Два основных подхода: Вертикальное масштабирование — добавление ресурсов (CPU, RAM, HDD) к одному серверу. ➖ Ограничено физически, дорого. ➖ Не решает проблему отказоустойчивости.
Горизонтальное масштабирование — добавление новых серверов и распределение нагрузки. ➖ Сложнее в настройке, но даёт гибкость и отказоустойчивость.
Облачное масштабирование — гибридный вариант, использует ресурсы облаков (AWS, GCP и др.).
🔥 Методы горизонтального масштабирования ➖Репликация — копирование данных на несколько серверов (например, для ускорения доступа в разных регионах). ➖Шардирование — разбиение данных на части (по регионам, типам данных). ➖Кеширование — хранение часто запрашиваемых данных в памяти (например, топ-10 товаров). ➖Автоматическое масштабирование — динамическое добавление серверов под нагрузку.
📊 Профили нагрузки ➖Статический (нагрузка предсказуема, например, ночью мало пользователей). ➖Динамический (резкие скачки, как в Чёрную пятницу).
🔜 В следующих постах: Подробнее обсудим масштабирование и составные его части.
💬 А вы сталкивались с проблемами масштабирования? Делитесь в комментариях!
#БазыДанных #Масштабирование #DevOps #Backend #ЯндексПрактикумАрхитектура
· 21.04.2025
Интересно, репликация в чистом виде реально помогает для регионов? Или там что то сложней?
ответить
коммент удалён
· 21.04.2025
В чистом виде думаю только в лабораторной работе)
Типо так много обращений к БД, что даже на чтение база падает, но добавляем пару реплик, в одну пишем, вторую читаем и хоп, все заработало.
ответить
ответ удалён
· 21.04.2025
Как будто от такого решения больше проблем) да и откуда у магазина денег на железо?
ответить
ответ удалён
· 21.04.2025
Вспомни сбермегамаркет.
Жил был интернет магазин с 1000 заказов в день, его покупает Сбер и заказов становится 100к в день.
Процессинг заказов на 1с) Первый шаг купить самые мощные железки, а потом уже думать где и как горизонтально масштабировать, что можно быстро сделать сразу включается.
ответить
ответ удалён
· 21.04.2025
Ну ок, с деньгами Сбера можно)
ответить
ответ удалён
· 21.04.2025
Это кстати реальная история)
ответить
ответ удалён