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

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

Год назад мы представили правила кэширования — новый способ настройки параметров кэша в Cloudflare. Правила кэширования обеспечивают большую гибкость в том, как пользователи кэшируют контент, предлагая точные элементы управления, удобный API и плавную интеграцию с Terraform. С момента его выпуска в конце сентября 2022 года более 100 000 веб-сайтов использовали правила кэша для точной настройки параметров своего кэша.

Сегодня мы рады сообщить, что Cache Rules, как и некоторые другие продукты Rules, общедоступный (GA). Но это еще не все — мы также представляем новые параметры конфигурации для правил кэширования, которые предоставляют еще больше возможностей для настройки кэширования в Cloudflare. К ним относятся функциональные возможности, позволяющие определить, какие ресурсы имеют право на резервирование кэша, какие значения тайм-аута следует соблюдать при получении данных с вашего исходного сервера, какие пользовательские порты мы должны использовать при кэшировании контента и следует ли нам обходить кеш Cloudflare при отсутствии заголовок управления кэшем.

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

История настройки кэша в Cloudflare

Путь настройки кэша в Cloudflare начался более десяти лет назад, в самом начале существования компании. С самого начала одним из наиболее частых запросов наших клиентов было упрощение конфигурации. Клиенты хотели легко реализовать точную политику кэширования, применять надежные меры безопасности, манипулировать заголовками, настраивать перенаправления и многое другое для любой страницы своего веб-сайта. Использование Cloudflare для настройки этих элементов управления было особенно важно для клиентов, использующих исходные серверы, которые предоставляли только сложные параметры конфигурации для добавления заголовков или политик к ответам, которые позже могли быть применены нижестоящими CDN.

В ответ на этот спрос мы представили Page Rules — продукт, популярность и функциональность которого с тех пор значительно выросли. Правила страниц стали предпочтительным выбором для клиентов, которым нужен детальный контроль над тем, как Cloudflare кэширует их контент. В настоящее время существует более 5 миллионов активных правил страниц, связанных с кэшем, которые помогают веб-сайтам адаптировать свои стратегии доставки контента.

Однако «за кулисами» Правила страницы столкнулись с проблемой масштабируемости.

Всякий раз, когда Cloudflare сталкивается с правилом страницы, мы должны преобразовать все условия правила для клиента в единый шаблон регулярного выражения. Затем этот шаблон применяется к запросам веб-сайта для достижения желаемой конфигурации кэша. Если подумать о том, как затем сравниваются все регулярные выражения от всех клиентов с десятками миллионов запросов в секунду, охватывающими более чем 300 центров обработки данных по всему миру, легко увидеть, что вычислительные требования для применения правил страницы могут быть огромными. Это давление напрямую связано с количеством правил, которые мы можем предложить нашим пользователям. Например, правила страницы допускают развертывание только 125 правил на данном веб-сайте.

Чтобы решить эту проблему, мы перестроили все функции правил страниц в новом механизме наборов правил. Продукты на основе набора правил не только предоставляют пользователям больше правил для игры, но и обеспечивают большую гибкость в выборе того, когда эти правила должны выполняться. Часть магии механизма Rulesets заключается в том, что вместо объединения всех правил страницы в одно регулярное выражение логику правил можно оценивать на условной основе. Например, если субдомен A и B имеют разные политики кэширования, запрос из субдомена A можно оценить с использованием логики регулярных выражений, специфичной для A (при этом опуская любую логику, применимую к B). Это дает значительный выигрыш в производительности и снижает вычислительные затраты при применении правил страниц в сети Cloudflare.

В течение прошлого года правила кэширования, а также правила происхождения, правила конфигурации и правила одиночного перенаправления находились в стадии бета-тестирования. Благодаря неоценимой поддержке наших первых пользователей, мы успешно доработали наш продукт и достигли стадии, когда он готов к переходу от бета-версии к общедоступной версии. Эти продукты теперь могут выполнять все функции Page Rules и даже больше. Это также знаменует собой начало процесса EOL для правил страницы. В ближайшие месяцы мы объявим сроки и информацию о том, как клиенты будут заменять свои Правила страниц конкретными продуктами Rules. Мы максимально автоматизируем это и предоставим простые шаги, чтобы обеспечить плавный переход от правил страниц для всех.

Как использовать правила кэширования и что нового

Те, кто использовал правила кэширования, знают, что они интуитивно понятны и работают так же, как и другие наши продукты с наборами правил. Оцениваются определяемые пользователем критерии, такие как URL-адреса или заголовки запросов, и при совпадении с указанным значением учитывается конфигурация кэширования Cloudflare. Каждое правило кэша зависит от полей, операторов и значений. Чтобы узнать обо всех доступных опциях, вам следует ознакомиться с нашей документацией по правилам кэширования.

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

Пример. Кэшированный контент обновляется регулярно.

В качестве примера предположим, что компания Acme Corp хочет обновить свою стратегию кэширования. Они хотят настроить свой кеш так, чтобы использовать преимущества определенных заголовков запросов, и использовать наличие этих заголовков запросов в качестве критерия, определяющего, когда применять те или иные правила кэширования. Первое, что им нужно будет решить, — какая информация должна использоваться для срабатывания конкретного правила. Это определено в выражении.

После определения критериев запуска Acme Corp должна определить, как они хотят настроить свой кэш.

Контент быстро меняется

Наиболее распространенной стратегией кэширования является обновление TTL Edge Cache. Если Acme Corp считает, что определенная часть контента на их веб-сайте может быстро измениться, они могут изменить время, в течение которого Cloudflare должно рассматривать ресурс, подходящий для обслуживания из кеша, на более короткое. Таким образом, Cloudflare будет чаще возвращаться к источнику для повторной проверки и обновления контента. В разделе Edge Cache TTL Acme Corp также может определить TTL ресурса на основе кода состояния, который Cloudflare получает обратно из своего источника, и того, что Cloudflare должен кэшировать, если с исходного сервера Acme не отправлены какие-либо инструкции по управлению кэшем.

Контент меняется медленно

С другой стороны, если у Acme Corp было много контента, который не менялся очень часто (например, значок или логотип), и они предпочли использовать его из кеша Cloudflare, а не из своего источника, они могут определить, какой контент должен иметь право на кэширование. Зарезервируйте с помощью нового правила кэширования. Резервирование кэша снижает комиссию за исходящие данные за счет постоянного хранения активов в кеше Cloudflare в течение длительного периода времени.

Традиционно, когда пользователь включал резерв кэша, вся его зона могла быть записана в резерв кэша. Для клиентов, которые заботятся об экономии исходящих сборов на всех ресурсах своего веб-сайта, это по-прежнему лучший путь вперед. Но для клиентов, которые хотят иметь дополнительный контроль над тем, какие именно активы должны быть частью их резерва кэша или даже над тем, какой размер активов должен иметь право на участие, Правило приемлемости резерва кэша предоставляет дополнительные регуляторы, чтобы клиенты могли точно увеличить количество попаданий в кэш и уменьшить количество источников. выход в индивидуальном порядке. Обратите внимание, что для этого правила требуется подписка на резерв кэша.

Пример: Origin работает медленно

Рассмотрим гипотетический пример. Недавно компания Acme Corp заметила рост количества ошибок в журналах Cloudflare. Эти ошибки связаны с новым отчетом, который Acme предоставляет своим пользователям на основе собственных данных Acme. Этот отчет требует, чтобы их источник получил доступ к нескольким базам данных, выполнил некоторые вычисления и сгенерировал отчет на основе этих вычислений. Источнику, генерирующему этот отчет, необходимо дождаться ответа, пока вся эта фоновая работа не будет завершена. Отчет Acme имел успех и вызвал приток посетителей, желающих его увидеть. Но их происхождение изо всех сил пытается не отставать. Многие из ошибок, которые они видят, — это ошибки 524, которые коррелируют с тем, что Cloudflare не видит ответ источника до истечения времени ожидания.

У Acme есть планы улучшить ситуацию за счет масштабирования исходной инфраструктуры, но ее развертывание занимает много времени. Тем временем они могут обратиться к правилам кэша, чтобы увеличить тайм-аут. Исторически значение тайм-аута между Cloudflare и двумя последовательными чтениями источника составляло 100 секунд. Это означало, что если источник не отправлял ответ успешно в течение периода, превышающего 100 секунд, это могло привести к ошибке 524. Используя правило кэширования для продления этого времени ожидания, Acme Corp может в большей степени полагаться на кеш Cloudflare.

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

Полный список правил кэширования можно найти здесь.

Попробуйте правила кэширования сегодня!

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

Перейдите на панель управления и попробуйте правила кэширования сегодня!