理解するのは簡単FastDfs

注:、ネットワークカバレッジのためのテキスト材料のほとんどは、ビルドの理解への物語と個人的な学習経験のほとんどと、間違っている場合は、ご了承くださいハードと指摘しました。

A. FastDfsプロフィール

FastDFSは軽量なオープンソースの分散ファイルシステムである、そのファイル管理機能が含まれます:などのファイルストレージ、ファイルの同期、ファイルアクセス(ファイルのアップロード、ファイルのダウンロード)、大容量記憶装置と負荷分散の問題を解決するために。

FastDFSインターネットのためのオーダーメイド、冗長性の完全なアカウント、ロードバランシング、および拡張リニア他のメカニズム、および高可用性に焦点を当て、高い性能と他の指標、それはファイルのアップロードとダウンロードを提供するために、高性能なファイルサーバクラスタを構築するために使用FastDFSに簡単です。その他のサービス。

以下、FDSと呼びます。

 

二.fds作品

役割1. FDSの構成

サービススケジュール、負荷分散のためにアクセスする責任追跡コーディネーター、;:トラッカー
ストレージ:ストレージ・ノード、データストレージ、同期は、アクセス・インターフェースを提供します。

次の図に示すクライアント、ストレージ、トラッカー関係の状況:

 

 2. FDSファイルアップロード原理

クライアント(UE)、ファイル送信するためのアップロード、クライアント(クライアント)の、トラッカーに使用可能なストレージ尋問トラッカーを要求し、その後、クライアントのアドレスに戻る(UE)使用可能なストレージは、ストレージの完全なファイル、ファイルアップロード用のストレージファイルアップロードインターフェースを呼び出しますストレージ、ファイルストレージの情報が返された後、ファイルのアップロードが完了します。

 

3. FDSファイルをダウンロード原則

クライアント(UE)は、ファイル送信するために、ダウンロード、クライアント(クライアント)の使用可能なストレージは、ストレージファイルのダウンロード・インターフェースを呼び出すクライアントのアドレス(UE)に戻り、その後、トラッカー、トラッカーへのリンク照会可能なストレージをリンク要求を(と同期状態を確認してください) 、ファイル転送情報、ストレージはファイルへのアクセス、ファイル情報を返すに基づいて検索します。

 

4. FDSファイル同期原理

4.1 客户端将文件上传至Group内一个Storage即认为上传文件成功,Storage存储文件完成后,会由后台线程将文件同步至同Group内其他的Storage。

4.2 每个Storage写文件后,同时会写一份binlog,binlog里不包含文件数据,只包含文件名等元信息,这份binlog用于后台同步,Storage会记录向Group内其他Storage同步的进度,以便重启后能接上次的进度继续同步;进度以时间戳的方式进行记录,所以最好能保证集群内所有Server的时钟保持同步。

4.3 Storage的同步进度会作为元数据的一部分汇报到Tracker上,Tracke在选择读Storage的时候会以同步进度作为参考。

文件同步工作流程简图:

流程图解释:
1. Group内的Storage定时读取BinLog,获取同步进度;

2. Group内的Storage有数据变化时,将元信息写入BinLog;

3. Group内的其他Storage读取BinLog后,根据同步进度提示与发生数据变化的Storage进行同步交互;

*4. 完成同步后,进度信息上传到Tracker,Tracker根据该进度进行与Storage的进度参考。

 

 5. fds联合原理

结合原理简图1步骤,启动Storage服务后,会根据配置文件中的Tracker地址主动访问Tracker服务器,进行设备登记;

结合原理简图2步骤,Tracker服务收到登记后,生成列表,下发至所有同Group内的所有Strorage;

结合原理简图3步骤,同Group内的Storage根据Tracker下发列表,进行互相关联同步;

fds联合原理简图:

注意:
所有的Tracker都是相对独立的,不会互相联动;
只有相同Group内的Storage才会进行同步;
Group的存储空间大小,使用组内Storage最小的空间表示。

 

おすすめ

転載: www.cnblogs.com/airlinp/p/12395052.html