FastDFSは、ファイルを管理するオープンソースの分散ファイルシステムで、ファイルストレージ、ファイル同期、ファイルアクセス(ファイルアップロード、ファイルダウンロード)などの機能を備え、大容量ストレージや負荷分散の問題を解決します。特に、フォト アルバム Web サイトやビデオ Web サイトなど、ファイルに基づくオンライン サービスに適しています。
#FastDFS を使用して分散ファイル システムを展開する場合、ファイルのアップロード、ダウンロード、削除などの操作には FastDFS クライアント API を使用します。同時に、HTTP サービスは FastDFS HTTP サーバーを通じて提供されます。ただし、FastDFS の HTTP サービスは比較的シンプルであり、負荷分散などの高パフォーマンスなサービスを提供できないため、FastDFS の開発者であるタオバオ アーキテクト Yu Qing が、Nginx (Nginx とも呼ばれる) で使用される FastDFS モジュールを提供してくれました。 FastDFS).モジュール)。使い方はとても簡単です。
FastDFS はトラッカー サーバーを使用してストレージ サーバーにファイルを保存しますが、同じグループ内のサーバーはファイルをコピーする必要があるため、遅延が発生します。トラッカー サーバーがファイルを 192.168.1.80 にアップロードすると仮定します。ファイル ID がクライアントに返されました。このとき、バックグラウンドでファイルが 192.168.1.30 にコピーされます。コピーが完了していない場合、クライアントはこの ID を使用して 192.168.1.30 にあるファイルを取得します。必ずエラーが発生します。この fastdfs-nginx-module は、接続をソース サーバーにリダイレクトしてファイルを取得し、レプリケーションの遅延によるクライアント エラーを回避できます。 FastDFS サーバーには、トラッカーとストレージ ノードという 2 つの役割があります。トラッカーは主にスケジュール作業を実行し、アクセス時の負荷分散の役割を果たします。 ストレージ ノードはファイルを保存し、ストレージ、同期、アクセス インターフェイスの提供といったファイル管理のすべての機能を実行します。FastDFS はファイルのメタデータも管理します。ファイルのいわゆるメタデータは、ファイルの関連属性であり、width=1024 などのキーと値のペアの形式で表されます。ここで、キーは幅、値は 1024 です。ファイルのメタデータはファイル属性のリストであり、複数のキーと値のペアを含めることができます。FastDFS 原則
ストレージ ノードはグループ方式を採用しています。ストレージシステムは 1 つ以上のグループで構成され、グループ間のファイルは互いに独立しており、すべてのグループのファイル容量の合計がストレージシステム全体のファイル容量となります。グループは 1 つ以上のストレージ サーバーで構成できます。グループ内のストレージ サーバー内のファイルはすべて同じです。グループ内の複数のストレージ サーバーは、冗長バックアップと負荷分散の役割を果たします (グループのストレージ容量はグループ内の最小容量のストレージ サーバー。異なるグループのストレージ サーバーは相互に通信しませんが、同じグループ内のストレージ サーバーはファイル同期のために相互に接続します)。 サーバーをグループに追加すると、既存のファイルの同期がシステムによって自動的に完了し、同期完了後、新しく追加されたサーバーがオンライン サービスを提供するように自動的に切り替わります。 ストレージスペースが不足している場合、またはストレージスペースが枯渇しそうになっている場合、グループを動的に追加できます。 1 つ以上のサーバーを追加して新しいグループとして構成するだけで、ストレージ システムの容量が拡張されます。 FastDFS には、トラッカー サーバーとストレージ サーバーの 2 つの役割しかありません。セントラル ノードとしての Tracker サーバーの主な機能は、負荷分散とスケジューリングです。トラッカー サーバーは、グループ化やストレージ サーバーのステータスなどの情報をメモリに記録しますが、ファイル インデックス情報は記録せず、使用するメモリもほとんどありません。また、クライアント(アプリケーション)とStorageサーバーがTrackerサーバーにアクセスすると、Trackerサーバーはメモリ上のグループとStorageサーバーの情報をスキャンして応答します。このことから、Tracker サーバーは非常に軽量であり、システムのボトルネックにならないことがわかります。 FastDFS のストレージ サーバーは、通常、他のファイル システムではトランク サーバーまたはデータ サーバーと呼ばれます。ストレージ サーバーは、OS ファイル システムを直接使用してファイルを保存します。 FastDFS はファイルをブロック単位で保存しません。クライアントによってアップロードされたファイルは、ストレージ サーバー上のファイルと 1 対 1 で対応します (FastDFS でのファイル識別は、グループ名とファイル名の 2 つの部分に分かれています)。は不可欠です)Nginx 関連の技術記事の詳細については、
Nginx 使用法チュートリアル 列にアクセスして学習してください。
以上がfastdfs を nginx と組み合わせる必要がある理由の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。