ObjectBasin

Обзор

ObjectBasin хранит неизменяемые объекты в бакетах и отдаёт их с ближайшего к абоненту узла. API совместим с S3; медиа-шлюз добавляет подписанные ссылки и кэш-заголовки.

Архитектура кратко

клиент ──SigV4──▶ api.objectbasin.com ──▶ шлюз региона ──▶ 3 узла хранения (ответ после 3/3)
                                      └──▶ сервис метаданных (версионирование, бэкап раз в час)

зритель ──подписанная ссылка──▶ media.objectbasin.com ──▶ ближайший узел чтения ──▶ узел-источник при промахе

Основные понятия

ПонятиеЧто это
БакетПространство имён внутри региона: свои ключи, политика и счётчики.
ОбъектНеизменяемые байты плюс метаданные. Перезапись создаёт новую версию, старая уходит по правилу жизненного цикла.
Часть (part)Фрагмент multipart-загрузки. Сохраняется сразу после проверки, размещается по разным доменам отказа.
Подписанная ссылкаСсылка на чтение с ограниченным сроком, чтобы не отдавать ключ в браузер.

Точки входа

ХостНазначение
api.objectbasin.comУправление и работа с данными (S3 и REST).
media.objectbasin.comШлюз чтения для подписанных ссылок и публичных бакетов.
media.objectbasin.com/{bucket}/{key}Чтение публичных бакетов и подписанных ссылок по пути.

Согласованность

Чтение строго согласовано внутри региона, владеющего бакетом: после ответа 200 на запись любой узел региона видит новую версию. Репликация в другой регион асинхронна и обычно завершается за секунды; состояние показывает заголовок x-objectbasin-replica.

Дальше