НовостиКриптовалютыNeoFS S3 Gateway v0.45.1 оптимизирует производительность чтения и записи с помощью SDK RC21

NeoFS S3 Gateway v0.45.1 оптимизирует производительность чтения и записи с помощью SDK RC21

Автор: CryptoNewsNet·

Ключевые выводы

  • NeoFS S3 Gateway v0.45.1 включает оптимизацию пути записи, которая устраняет как минимум одно промежуточное копирование данных при операциях PUT и снижает расход памяти и CPU.
  • Запросы ranged GET теперь получают заголовок объекта и данные полезной нагрузки за один сетевой вызов вместо отдельного round-trip, что полезно для потокового мультимедиа и частичных загрузок.
  • Extended Access Control Lists применяются одновременно с созданием контейнера, что убирает дополнительный запрос и закрывает окно, в котором новый контейнер мог существовать без назначенной политики доступа.
  • Исправление метаданных отфильтровывает внутренние системные атрибуты NeoFS из ответов GetObject, обеспечивая возврат только пользовательских метаданных и снижая риск утечки информации в многопользовательских средах.
  • Патч включает обновление зависимости gRPC до v1.82.1, которое смягчает атаки HTTP/2 frame flood denial-of-service и устраняет уязвимости обхода авторизации в сопоставлении разрешений xDS.
NeoFS S3 Gateway v0.45.1 оптимизирует производительность чтения и записи с помощью SDK RC21

Neo SPCC выпустила NeoFS S3 Gateway v0.45.1 4 августа. Это обновление-патч добавляет три оптимизации производительности и исправление метаданных для S3-совместимого интерфейса сети децентрализованного хранения NeoFS. Поскольку Amazon S3 API стал фактическим стандартом объектного хранения как в централизованных, так и в децентрализованных платформах, улучшения пропускной способности и корректности S3 gateway напрямую влияют на то, насколько легко разработчики могут переносить приложения на NeoFS или создавать их с использованием привычных инструментов.

Две из этих оптимизаций производительности реализованы благодаря NeoFS SDK Go RC21, который был выпущен всего за несколько дней до этого вместе с NeoFS Node v0.55.0.

Развивая крупный июльский релиз S3 Gateway v0.45.0, который принес конфигурацию пространств имен, упрощённые правила EACL и удаление устаревшей поддержки access box, этот новый патч не требует миграции для существующих пользователей v0.45.0.

Оптимизации буферизации записи и ranged GET

Первая оптимизация реализует интерфейс io.ReaderFrom для writer полезной нагрузки объекта — возможность, представленную в SDK RC21. Убирая как минимум одно промежуточное копирование данных во время операций PUT, это обновление снижает расход памяти и накладные расходы CPU на пути записи (#1320).

Вторая оптимизация улучшает ranged GET-запросы. Ранее для таких запросов требовался отдельный сетевой round-trip, чтобы получить заголовок объекта перед извлечением указанного диапазона данных. Используя параметры диапазона байтов, аналогичные HTTP, из SDK RC21, шлюз теперь получает и заголовок, и диапазон полезной нагрузки за один сетевой вызов (#1319). Это улучшение особенно полезно для потокового мультимедиа, частичных загрузок и рабочих процессов multipart upload, которые полагаются на S3 range reads.

EACL применяются при создании контейнера

Extended Access Control Lists (EACL) теперь применяются одновременно с созданием контейнера в одном сетевом вызове, без необходимости отдельного последующего запроса (#1304). Это изменение снижает задержку при создании S3 bucket и закрывает краткое окно уязвимости, в котором недавно созданный контейнер мог существовать без назначенной политики доступа.

Исправление системных атрибутов

Важное исправление корректности фильтрует внутренние системные атрибуты NeoFS из ответов GetObject с метаданными (#1321). Ранее эти атрибуты на уровне протокола включались вместе с пользовательскими метаданными в S3-ответах, непреднамеренно раскрывая клиентам внутренние детали реализации. Исправление гарантирует, что возвращаются только пользовательские метаданные, что соответствует ожидаемому поведению S3 API и снижает риск утечки информации в многопользовательских средах.

Обновления зависимостей

Помимо обновления SDK RC21, версия 0.45.1 включает различные обновления по безопасности и обслуживанию, в том числе:

  • golang.org/x/crypto v0.52.0
  • golang.org/x/net v0.55.0
  • google.golang.org/grpc v1.82.1

Обновление gRPC в частности включает меры по снижению риска HTTP/2 frame flood denial-of-service атак и исправляет сценарии обхода авторизации, обнаруженные в сопоставлении разрешений xDS. Эти классы уязвимостей HTTP/2 активно эксплуатируются в более широкой инфраструктурной экосистеме, поэтому своевременное обновление зависимостей является базовой практикой безопасности для storage gateway, доступных недоверенным клиентам.

Полные примечания к выпуску доступны по ссылке: https://github.com/nspcc-dev/neofs-s3-gw/releases/tag/v0.45.1