RustFSアーキテクチャ
RustFSは、よく知られているAWS S3に似たオブジェクトストレージシステムです。MinIOの代替として、RustFSはMinIOのクリーンで軽量、スケーラブルで優雅なアーキテクチャを参考にしています。
オブジェクトはドキュメント、ビデオ、PDFファイルなどがあります。オブジェクトストレージのために、MinIOはデータの保存、アクセス、管理のためのスケーラブルで柔軟かつ効率的なソリューションを提供します。AWS S3 APIとの互換性により、AWS S3ベースのアプリケーションとのシームレスな統合が可能です。
アーキテクチャ図は以下の通りです:
これがRustFSの基本的なアーキテクチャです。分散メッシュは、単一のタスクを実行するために複数のノードを使用するコンピュータアーキテクチャです。ノードはネットワークを介して互いに接続されており、お互いに通信することができます。
一貫性設計
分散モードと単一マシンモードの両方において、すべての読み書き操作は読み取り後書き込み一貫性モデルを厳密に従います。
RustFSの重要な概念
オブジェクト:RustFSに格納される基本的なオブジェクト、ファイル、バイトストリーム、何でも...
バケット:オブジェクトを格納するために使用される論理空間。各バケット間のデータは相互に分離されています。クライアントにとって、ファイルを格納するためのトップレベルフォルダーに相当します。
ドライブ:データを格納するディスク、RustFS起動時にパラメータとして渡されます。RustFS内のすべてのオブジェクトデータはドライブに格納されます。
セット:ドライブの集合。分散デプロイメントは、クラスター規模に基づいて自動的に1つ以上のセットに分割され、各セット内のドライブは異なる場所に分散されます。オブジェクトは1つのセットに格納されます。
したがって、アーキテクチャを設計し、機器をデプロイする際には、以下を考慮する必要があります:
- オブジェクトは1つのセットに格納される;
- クラスターは複数のセットに分割される;
- セット内のドライブ数は固定で、デフォルトでクラスター規模に基づいてシステムが自動計算する;
- セット内のドライブは可能な限り異なるノードに分散される;
特別な感謝
すべてのノードはピアツーピア関係にあり、アーキテクチャ設計を大幅に簡素化し、メタデータ損失の心配を解消します。単一のコマンドで開始できます。
優雅さ、シンプルさ、信頼性を失うことなく、RustFSはMinIOと同じアーキテクチャ設計を採用しています。
提案されたアーキテクチャコンセプトについてMinIOに感謝します。これは世界中のユーザーを大いに促進し、S3プロトコルを推進しました。