Архитектура RustFS
RustFS - это система хранения объектов, похожая на известный AWS S3. Как продукт-замена MinIO, RustFS ссылается на простую, легкую, масштабируемую и элегантную архитектуру MinIO.
Объекты могут быть документами, видео, PDF-файлами и т.д. Для хранения объектов MinIO предоставляет масштабируемое, гибкое и эффективное решение для хранения, доступа и управления данными. Его совместимость с API AWS S3 обеспечивает бесшовную интеграцию с приложениями на основе AWS S3.
Диаграмма архитектуры следующая:
Это базовая архитектура RustFS. Распределенная сетка - это компьютерная архитектура, которая использует несколько узлов для выполнения одной задачи. Узлы подключены друг к другу через сеть, что позволяет им общаться между собой.
Дизайн согласованности
В распределенном и одномашинном режимах все операции чтения и записи строго следуют модели согласованности read-after-write.
Важные концепции в RustFS
Object (Объект): Базовый объект, хранящийся в RustFS, такой как файлы, потоки байтов, все что угодно...
Bucket (Ведро): Логическое пространство, используемое для хранения объектов. Данные между каждым ведром взаимно изолированы. Для клиента это эквивалентно папке верхнего уровня для размещения файлов.
Drive (Диск): Диск, который хранит данные, передается как параметр при запуске RustFS. Все данные объектов в RustFS будут храниться в дисках.
Set (Набор): Группа дисков. Распределенное развертывание автоматически делится на один или несколько наборов в зависимости от масштаба кластера, и диски в каждом наборе распределены в разных местах. Объект хранится в одном наборе.
Поэтому при проектировании архитектуры и развертывании оборудования нужно учитывать:
- Объект хранится в одном наборе;
- Кластер делится на несколько наборов;
- Количество дисков в наборе фиксировано, вычисляется автоматически системой на основе масштаба кластера по умолчанию;
- Диски в наборе распределены по возможности на разных узлах;
Особая благодарность
Все узлы находятся в равноправных отношениях, что значительно упрощает проектирование архитектуры и устраняет беспокойство о потере метаданных, может быть запущено одной командой.
Не теряя элегантности, простоты и надежности, RustFS принимает тот же архитектурный дизайн, что и MinIO.
Спасибо MinIO за предложенную концепцию архитектуры, которая значительно облегчила пользователей по всему миру и продвинула протокол S3.