Статьи

Готовы ли вы масштабировать?

Рост типичного веб-сайта может выглядеть примерно так:

  1. Готов к масштабированию - Фаза 1 Вы создаете первую версию своего сайта и внедряете ее в среду общего хостинга (Dreamhost и т. Д.). Все хорошо.
  2. Готов к масштабированию - Фаза 2 Вам нужно создать больше возможностей для растущей клиентской базы. Производительность и время безотказной работы также являются проблемой, поэтому вы перемещаете свой сайт на выделенный сервер. Свобода в коробке!
  3. Готов к масштабированию - Фаза 3 Больше клиентов. Они хотят больше возможностей, и они хотят их прямо сейчас! Как вы справляетесь с нагрузкой? Вы помещаете свою базу данных на собственный выделенный сервер. Мы можем снова дышать.

Итак, здесь мы с традиционным 2-серверным 2-уровневым бэкэндом. Один сервер отвечает за создание и обслуживание веб-страниц, другой сервер отвечает за хранение данных. Вот некоторые из проблем, с которыми вам, возможно, повезло столкнуться при работе на такой установке:

  1. Доступность: теперь у вас есть 2 точки отказа. Если ваш веб-сервер или сервер базы данных умрет, у вас проблемы. Каков твой план, когда это произойдет?
  2. Производительность: как вы оцениваете это? Сколько еще одновременно работающих пользователей может обработать ваш сайт, прежде чем вы перестанете своевременно обслуживать запросы? Что еще более важно, что вы делаете, когда достигаете этой точки?
  3. Резервное копирование: Как мы можем точно и быстро сделать резервную копию всех данных наших клиентов, не отключая весь наш веб-сайт?
  4. State & Tangle: Где вы храните данные пользователя и сеанса в файловой системе? Насколько легко вы можете разделить различные области вашего сайта / приложения на отдельные серверы?

Если вы достигли этой точки в развитии своего веб-сайта, но у вас нет ответов на эти вопросы, самое время задуматься о решении этих проблем.

Следующая неделя в штаб-квартире SitePoint гарантированно будет сумасшедшей, поскольку мы переезжаем в более крупный и лучший офис. Но я обещаю опубликовать в начале недели с некоторыми предложениями / идеями и другими вещами, чтобы рассмотреть, как вы готовы к следующему этапу развития вашего сайта.