Стратегия масштабируемости — это план действий, которым необходимо следовать при изменении схемы использования ваших приложений.
Что вы можете, нужно ли вам делать и что вы собираетесь делать, когда ваше приложение увидит:
значительный) снижаться в количестве клиентов, пользователей, сотрудников, активов и т. д.
значительный) увеличивать в количестве клиентов, пользователей, сотрудников, активов и т. д. Готовы ли вы к:
- медленно нарастать
- экспоненциальный рост
- одноразовый большой всплеск (и можете ли вы снова уменьшить масштаб после этого)
Существуют ли пределы, за которыми вы не можете масштабироваться вверх или вниз?
Ваши параметры зависят от вашего текущего дизайна и развертывания приложения. но наиболее типичные стратегии:
- ничего не делать - (пока вещи не сломаются)
- увеличить масштаб (и реже наоборот: уменьшение масштаба) - изменить размер вашего экземпляра/сервера: добавить/удалить ЦП, память и хранилище
- уменьшить масштаб - изменить количество серверов, развернуть более экземпляры, а не больше экземпляры
- сделать что-то совершенно другое (что лучше всего соответствует вашим потребностям)
- сделать это чьей-то проблемой (разгрузка / аутсорсинг / использование платформы или облачного решения, а не DIY)
- сочетание вышеперечисленного
- и т.д.
Довольно простое трехуровневое веб-приложение: веб-сервер, сервер приложений, сервер базы данных может работать на ноутбуке разработчика или на одном VPS. При большей нагрузке вы можете получить VPS большего размера (масштабирование) или переместить базу данных и серверы приложений на выделенный VPS (масштабирование). Затем добавьте балансировщик нагрузки и дополнительные веб-серверы и серверы приложений по мере увеличения нагрузки (большее масштабирование).