このプロジェクトについて
FastDFSは、ファイルの保存、同期、アクセス(アップロードとダウンロード)を処理するために設計された、オープンソースの高性能分散ファイルシステム(DFS)です。大容量と負荷分散の課題に対処し、写真共有や動画共有サイトなどのファイルベースのサービスに適しています。
主な機能は以下の通りです:
- グループ化されたストレージサーバーを持つ、シンプルで柔軟なピアツーピア構造により、単一障害点を排除
- FastDFSによって生成されたファイルIDがファイルアクセスの資格情報として機能し、従来のネームサーバーやメタサーバーが不要
- 大・中・小ファイルのサポート。多数の小ファイルを処理するための小ファイルのマージ保存を含む
- ストレージサーバーは複数ディスクをサポートし、単一ディスク障害時のデータ復旧が可能
- nginxとのシームレスな統合のためのnginx拡張モジュール
- IPv6、NATネットワーク、およびクロスデータセンターまたはハイブリッドクラウド展開のサポート
- 読み書き分離とクロスデータセンターの災害バックアップ
- アペンダーファイルに対するtruncate、append、modify操作のAPI
- マルチスレッドのファイルアップロードとダウンロード、および途切れからの再開(レジューム)サポート
アーキテクチャ:
FastDFSは、trackerとstorageの2つの役割で動作します。trackerはファイルアクセスのスケジューリングと負荷分散を処理し、storageサーバーはファイルを保存し、ファイルメタデータ(width=1024などのキーと値のペア)を管理します。trackerとstorageの両クラスターは、オンラインサービスに影響を与えることなくサーバーの追加や削除が可能です。storageサーバーは大容量のためにファイルグループに編成され、グループ内のサーバーは互いにバックアップし、負荷分散を行います。ストレージ容量が不足した場合、追加のグループを追加して容量を拡張できます。
ファイル識別は、グループ名とファイル名の2つの部分で構成されます。
クライアントSDKは以下で利用可能です:
- C言語(ソースコードに含まれる)
- PHP拡張(ソースコードに含まれる)
- Java SDK(別リポジトリ)
- Go SDK(別リポジトリ)
FastDFSは軽量なオブジェクトストレージソリューションです。データベース、K8s、仮想マシンに強いデータ一貫性を必要とする一般的な分散ファイルシステムには、FastCFSが代替として推奨されます。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.