Как работает CDN, например CloudFlare?

То, что я понимаю до сих пор:

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

Теперь я хотел бы узнать технические детали этого механизма. Вот некоторые из моих вопросов:

  1. Обладает ли CloudFlare прокси-сервером кэша? Скажем, у меня есть куча изображений на страницах моего сайта. CloudFlare кэширует все эти изображения в каждом из своих центров обработки данных, а затем обслуживает их из этих центров данных?

  2. Какие ресурсы сайта затронуты? Только статические? Как насчет самих веб-страниц (HTML-документов)? Что делать, если страницы динамически генерируются моим сервером? Как CloudFlare обязательно всегда обслуживает самую последнюю версию страницы?

  3. Как насчет запросов POST на мой сайт (например, посетитель загружает данные через Ajax, который затем сохраняется в базе данных)? Этот материал должен быть выполнен на моем сервере. Таким образом, CloudFlare не (и не может) повысить производительность этого процесса, не так ли? Итак, CloudFlare просто передает запрос Ajax исходному веб-хосту?

22 голоса | спросил Šime Vidas 4 Jpm1000000pmSat, 04 Jan 2014 20:56:52 +040014 2014, 20:56:52

3 ответа


22
  1. Да, это прокси-сервер для кэширования.
  2. «Это зависит». По умолчанию кэшируются только такие вещи, как изображения и CSS, но вы можете установить уровень кэша для каждой зоны и установить правила страницы для переопределения того, что кэшируется или не кэшироваться. Статический HTML может быть принудительно кэширован по правилу страницы, но динамический контент явно не может. Исключением здесь является, если у вас есть план «Бизнес» или «Предприятие», или зарегистрируйтесь через определенных партнеров по хостингу, где вы получаете доступ к технологии Railgun, благодаря которой CloudFlare будет получать информацию, которая была изменена на странице, даже если она динамична. Если вы установили CloudFlare для кэширования всего, вам нужно контролировать тайм-аут кэша либо с заголовками кеша в источнике, либо с настройкой кэша TTL в вашей зоне в интерфейсе CloudFlare.
  3. POST должны всегда отправляться в начало координат, поэтому CloudFlare просто передает их прямо. Вы все равно должны увеличить производительность, потому что CloudFlare использует anycast для обслуживания DNS и HTTP из ближайшего центра обработки данных.

Полное раскрытие: я работаю для CloudFlare.

ответил James O'Gorman 4 Jpm1000000pmSat, 04 Jan 2014 21:25:01 +040014 2014, 21:25:01
5

Просто добавьте немного большей ясности:

В Quora есть довольно хорошая статья о работе CloudFlare .

Какие ресурсы сайта затронуты? Только статические? Что CloudFlare кэширует по умолчанию .

«Обладает ли CloudFlare как прокси-сервер кеша? Скажем, у меня есть куча изображений на страницах моего сайта. Обладает ли CloudFlare кешем всех этих изображений в каждом из своих центров обработки данных, а затем обслуживает их из этих центров обработки данных?»

Вы можете расширить наше кэширование вне статического контента с помощью PageRules.

Примечание. Мы не будем кэшировать сторонние ресурсы, которые находятся на вашем сайте (Flickr, Google, Facebook и т. д.).

ответил damoncloudflare 6 Jpm1000000pmMon, 06 Jan 2014 23:21:40 +040014 2014, 23:21:40
1

Чтобы добавить к ответу Деймона:

Вы можете найти полезные обучающие видео для настройки наиболее популярных /рекомендуемых Правил страницы с CloudFlare здесь:

cloudflare.com/features-page-rules

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

ответил RyanK 10 PM00000090000002431 2016, 21:50:24

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132