Skip to content

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

RustFS - это система хранения объектов, похожая на известный AWS S3. Как продукт-замена MinIO, RustFS ссылается на простую, легкую, масштабируемую и элегантную архитектуру MinIO.

Объекты могут быть документами, видео, PDF-файлами и т.д. Для хранения объектов MinIO предоставляет масштабируемое, гибкое и эффективное решение для хранения, доступа и управления данными. Его совместимость с API AWS S3 обеспечивает бесшовную интеграцию с приложениями на основе AWS S3.

Диаграмма архитектуры следующая:

Диаграмма архитектуры RustFS

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

Дизайн согласованности

В распределенном и одномашинном режимах все операции чтения и записи строго следуют модели согласованности read-after-write.

Важные концепции в RustFS

Object (Объект): Базовый объект, хранящийся в RustFS, такой как файлы, потоки байтов, все что угодно...

Bucket (Ведро): Логическое пространство, используемое для хранения объектов. Данные между каждым ведром взаимно изолированы. Для клиента это эквивалентно папке верхнего уровня для размещения файлов.

Drive (Диск): Диск, который хранит данные, передается как параметр при запуске RustFS. Все данные объектов в RustFS будут храниться в дисках.

Set (Набор): Группа дисков. Распределенное развертывание автоматически делится на один или несколько наборов в зависимости от масштаба кластера, и диски в каждом наборе распределены в разных местах. Объект хранится в одном наборе.

Поэтому при проектировании архитектуры и развертывании оборудования нужно учитывать:

  1. Объект хранится в одном наборе;
  2. Кластер делится на несколько наборов;
  3. Количество дисков в наборе фиксировано, вычисляется автоматически системой на основе масштаба кластера по умолчанию;
  4. Диски в наборе распределены по возможности на разных узлах;

Особая благодарность

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

Не теряя элегантности, простоты и надежности, RustFS принимает тот же архитектурный дизайн, что и MinIO.

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

Опубликовано под лицензией Apache 2.0.