Назад | Перейти на главную страницу

Единый веб-сайт на нескольких серверах

Прошу простить меня, если я использую неправильную терминологию. Я попытался найти свой вопрос, но не совсем уверен, как сформулировать его в терминах, достаточно простых для поиска. я нашел эта почта и эта почта которые актуальны, но не отвечают на мои точные вопросы.

Для веб-сайтов, которым требуется большое количество серверов для его запуска, как хранится и управляется сам код приложения (пока без базы данных)? Для простоты предположим, что serverfault.com имеет 10 серверов. На всех 10 этих серверах есть один и тот же код, или определенные части кода будут разделены между разными серверами? Если все они имеют один и тот же код, какие инструменты используют администраторы, чтобы убедиться, что серверы содержат один и тот же код? Я могу представить, что если один сервер будет содержать другой код, могут случиться плохие вещи.

Теперь о базе данных ... Если у вас есть огромный объем данных в системе хранения на основе SQL, как это можно сделать? Разделяются ли сами таблицы по нескольким серверам или это будет что-то вроде того, что пользователи таблиц получают этот сервер, сообщения таблиц получают этот сервер и т. Д.? Как такой крупный гигант, как Facebook или Twitter, справляется с этим?

Я установил свой первый сервер с apache на Ubuntu на микро-экземпляре AWS. Есть ли какие-нибудь бесплатные инструменты, которые я могу попробовать сделать? Я нашел балансировщики нагрузки на AWS, но описания больше касаются их запуска, а не того, как сами данные хранятся и / или извлекаются.

Спасибо

Это называется балансировкой нагрузки. Балансировщик нагрузки перенаправляет запросы на несколько серверов, на которых загружен точно такой же код.

Что касается базы данных, это обычно делается с помощью репликации базы данных на несколько серверов и разделения данных на несколько баз данных. (например, «вещи Facebook» пользователя A хранятся на сервере БД A, пользователь B получает свои данные, хранящиеся на сервере B, и так далее)

Если вы хотите узнать больше, вот коллекция вещей для Facebook и их архитектуры: https://stackoverflow.com/questions/3533948/facebook-architecture

Итак, для вашего сценария:

  • Загрузите один и тот же код на несколько серверов
  • Настройте балансировщик нагрузки