RustFS アーキテクチャ
RustFSは、よく知られているAWS S3に似たオブジェクトストレージシステムです。MinIOの代替製品として、RustFSはMinIOのシンプル、軽量、スケーラブル、エレガントなアーキテクチャを参考にしています。
オブジェクトはドキュメント、ビデオ、PDFファイルなどです。オブジェクトを保存するために、MinIOはデータの保存、アクセス、管理のためのスケーラブル、柔軟、効率的なソリューションを提供します。AWS S3 APIとの互換性により、AWS S3ベースのアプリケーションとのシームレスな統合が可能になります。
アーキテクチャ図は以下の通りです:
これはRustFSの基本アーキテクチャです。分散グリッドは、単一のタスクを実行するために複数のノードを使用するコンピューターアーキテクチャです。ノードはネットワークを通じて相互に接続されており、これにより相互に通信することができます。
一貫性設計
分散モードと単一マシンモードの両方で、すべての読み書き操作はread-after-write一貫性モデルに厳密に従います。
RustFSの重要な概念
Object(オブジェクト):RustFSに保存される基本オブジェクト、ファイル、バイトストリーム、すべて...
Bucket(バケット):Objectを保存する論理空間。各Bucket間のデータは相互に分離されています。クライアントにとって、ファイルを置くトップレベルフォルダーに相当します。
Drive(ドライブ):データを保存するディスク。RustFS起動時にパラメータとして渡されます。RustFSのすべてのオブジェクトデータはドライブに保存されます。
Set(セット):ドライブのグループ。分散デプロイメントはクラスターの規模に応じて自動的に1つまたは複数のセットに分割され、各セット内のドライブは異なる場所に分散されます。オブジェクトは1つのセットに保存されます。(場所によってはセットの組み合わせをStrips—ストライプとも呼びます)。
したがって、アーキテクチャを設計し、機器を展開する前に注意すべき点は:
オブジェクトは1つのセットに保存される;
クラスターは複数のセットに分割される;
セットに含まれるドライブ数は固定で、デフォルトでシステムがクラスター規模に基づいて自動計算する;
セット内のドライブは可能な限り異なるノードに分散される;
特別な謝辞
従来の分散ストレージアーキテクチャには、Masterノード、MetaDataノード、Data Nodeノードが必要でした。このモード設計により、ユーザーの展開は非常に複雑になりました。同時に、豊富な分散ストレージ管理経験がない場合、メタデータが失われると、データ損失のリスクがあります。
すべてのノードは同等レベルの関係にあり、アーキテクチャ設計を大幅に簡素化し、メタデータの損失を心配する必要がなく、1つのコマンドで起動できます。
エレガント、シンプル、信頼性を失うことなく、RustFSはMinIOと同じアーキテクチャ設計を採用しています。
MinIOが提案したアーキテクチャ概念に感謝します。これは世界中のユーザーを大いに便利にし、S3プロトコルの普及を促進しました。