Skip to content

RustFS アーキテクチャ

RustFSは、よく知られているAWS S3に似たオブジェクトストレージシステムです。MinIOの代替製品として、RustFSはMinIOのシンプル、軽量、スケーラブル、エレガントなアーキテクチャを参考にしています。

オブジェクトはドキュメント、ビデオ、PDFファイルなどです。オブジェクトを保存するために、MinIOはデータの保存、アクセス、管理のためのスケーラブル、柔軟、効率的なソリューションを提供します。AWS S3 APIとの互換性により、AWS S3ベースのアプリケーションとのシームレスな統合が可能になります。

アーキテクチャ図は以下の通りです:

RustFS アーキテクチャ図

これはRustFSの基本アーキテクチャです。分散グリッドは、単一のタスクを実行するために複数のノードを使用するコンピューターアーキテクチャです。ノードはネットワークを通じて相互に接続されており、これにより相互に通信することができます。

一貫性設計

分散モードと単一マシンモードの両方で、すべての読み書き操作はread-after-write一貫性モデルに厳密に従います。

RustFSの重要な概念

Object(オブジェクト):RustFSに保存される基本オブジェクト、ファイル、バイトストリーム、すべて...

Bucket(バケット):Objectを保存する論理空間。各Bucket間のデータは相互に分離されています。クライアントにとって、ファイルを置くトップレベルフォルダーに相当します。

Drive(ドライブ):データを保存するディスク。RustFS起動時にパラメータとして渡されます。RustFSのすべてのオブジェクトデータはドライブに保存されます。

Set(セット):ドライブのグループ。分散デプロイメントはクラスターの規模に応じて自動的に1つまたは複数のセットに分割され、各セット内のドライブは異なる場所に分散されます。オブジェクトは1つのセットに保存されます。(場所によってはセットの組み合わせをStrips—ストライプとも呼びます)。

したがって、アーキテクチャを設計し、機器を展開する前に注意すべき点は:

  1. オブジェクトは1つのセットに保存される;

  2. クラスターは複数のセットに分割される;

  3. セットに含まれるドライブ数は固定で、デフォルトでシステムがクラスター規模に基づいて自動計算する;

  4. セット内のドライブは可能な限り異なるノードに分散される;

特別な謝辞

従来の分散ストレージアーキテクチャには、Masterノード、MetaDataノード、Data Nodeノードが必要でした。このモード設計により、ユーザーの展開は非常に複雑になりました。同時に、豊富な分散ストレージ管理経験がない場合、メタデータが失われると、データ損失のリスクがあります。

すべてのノードは同等レベルの関係にあり、アーキテクチャ設計を大幅に簡素化し、メタデータの損失を心配する必要がなく、1つのコマンドで起動できます。

エレガント、シンプル、信頼性を失うことなく、RustFSはMinIOと同じアーキテクチャ設計を採用しています。

MinIOが提案したアーキテクチャ概念に感謝します。これは世界中のユーザーを大いに便利にし、S3プロトコルの普及を促進しました。

Apache License 2.0の下でリリースされています。