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

масштабируемость: когда использовать CDN?

Я читал о CDN, но не знаю, для чего он нужен.

Допустим, у меня есть международная социальная сеть (текстовое и графическое содержимое), и трафик ее растет из разных стран, могу ли я использовать CDN?

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

Означает ли это, что на каждом сервере есть копия моей базы данных mysql и файлов изображений?

это правильный способ сделать ваш веб-сервис доступным для всего мира? Ведь как еще вы могли бы настроить серверы по всему миру, связываясь с хостинговыми компаниями в каждой стране?

Сеть доставки контента обычно используется для статических медиа. Некоторые CDN являются Push, а некоторые - Pull, что означает, что вам нужно либо отправлять контент на их серверы, и они реплицируют его среди своей собственной сети серверов, либо они извлекают с вашего сайта карту, которая сообщает им, что cdn.domain.com -> yourdomain.com/media/. Запросы статических носителей обслуживаются из CDN и извлекаются из источника (вашего сервера), если их там нет.

Pull CDN также может кэшировать источник (в том числе динамические страницы), сохраняя некоторые функции вашего сайта, если исходный сервер выходит из строя. Однако для очень интерактивного сайта это не очень поможет. Новостной сайт, обслуживающий данные 5-минутной давности, может использовать CDN для кэширования источника немного лучше, чем сайт социальных сетей, где обновления статуса, отображаемые за 5 минут, могут вас сломать или сломать.

CDN обычно является кешем и содержит очень мало интеллекта. Эти машины настроены строго для кэширования содержимого и его быстрого обслуживания. Хотя Akamai поддерживает Edge Side Includes, заставить их выполнять это дорого и довольно сложно. Статический контент - это обычно то, что кэшируют CDN.

Ваши данные mysql и функциональность исходного сайта по-прежнему существуют в одном месте, но ваш статический контент и, возможно, ваши кешированные страницы будут обслуживаться CDN. Для того, чтобы ваш сайт запускался из нескольких мест, вам необходимо запустить несколько серверов с «директором», который будет отправлять пользователей на ближайший сервер. Вы можете сделать это с помощью именования хостов, DNS Anycast или поля директора. Вам все равно придется запускать несколько серверов LAMP в разных центрах обработки данных. Есть хостинг-провайдеры, которые могут обрабатывать развертывание в нескольких местах, и вы все равно можете использовать CDN для разгрузки статического контента.