INTEGRITY Документация

Local uploads

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

Как это работает

В следующих разделах описывается, как R2 обрабатывает запросы на загрузку при включённой и отключённой функции Local Uploads.

Без Local Uploads

Когда клиент загружает объект в ваш бакет R2, данные объекта должны пройти путь от клиента до инфраструктуры хранения бакета. Из-за этого может увеличиваться задержка и снижаться надёжность, если клиент находится в другом регионе, чем бакет. См. Как работает R2 для получения подробностей.

С Local Uploads

Когда вы отправляете запрос на загрузку (например, PutObject и UploadPart) в бакет с включённой функцией Local Uploads обрабатываются два случая:

Local uploads
Узел клиента
КлиентВосточная Северная Америка
Соединение: от клиента к Gateway
Без локальных загрузок: Gateway в блоке EDGE
EdgeВосточная Северная Америка
R2 Gateway Worker
Без локальных загрузок: разделённая область соединителя
С локальными загрузками: блок региона, содержащий Gateway и Local Storage
EdgeВосточная Северная Америка
R2 Gateway Worker
Соединительная линия
Object Data Infra
С локальными загрузками: две линии вниз к бакету
Метаданные объекта
Данные объекта
Группа бакетов
Ваш бакетВосточная Европа
Служба метаданных
Object Data Infra
Индикатор статуса
Данные загружены и доступны

Когда использовать Local Uploads

Local uploads предназначены для нагрузок, при которых много загрузок поступает из географических регионов, отличных от региона расположения вашего бакета. Эта функция особенно полезна, если:

Чтобы понять географическое распределение источников ваших запросов на чтение и запись:

  1. Войдите в панель управления Cloudflare и перейдите в раздел R2 Overview.

    Перейдите в Обзор ↗
  2. Выберите свой бакет.

  3. Выберите Метрики и просмотрите Распределение запросов диаграмма.

Особенности задержки чтения

Если функция Local Uploads включена, загруженные данные могут временно находиться ближе к клиенту, пока не завершится репликация.

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

Ограничение юрисдикции

Local uploads не поддерживаются для бакетов с юрисдикционные ограничения, поскольку для этого требуется временно направлять данные через локации за пределами региона бакета.

Включение локальных загрузок

При включении Local Uploads уже начатые загрузки завершатся как обычно, без прерывания трафика.

  1. Войдите в панель управления Cloudflare и перейдите в раздел R2 Overview.

    Перейдите в Обзор ↗
  2. Выберите свой бакет.

  3. Выберите Настройки.

  4. В разделе Local Uploads, выберите Включить.

Выполните следующую команду:

npx wrangler r2 bucket local-uploads enable <BUCKET_NAME>

Отключить локальные загрузки

Вы можете отключить Local Uploads в любой момент. Уже отправленные запросы с использованием Local Uploads завершат репликацию без прерывания трафика.

  1. Войдите в панель управления Cloudflare и перейдите в раздел R2 Overview.

    Перейдите в Обзор ↗
  2. Выберите свой бакет.

  3. Выберите Настройки.

  4. В разделе Local Uploads, выберите Отключить.

Выполните следующую команду:

npx wrangler r2 bucket local-uploads disable <BUCKET_NAME>

Цены

Существует без дополнительных затрат чтобы включить локальную загрузку. Запросы на загрузку, отправленные при включённой этой функции, облагаются стандартной Стоимость операции класса A, так же как и запросы на загрузку без Local Uploads.