FastDFS为什么要用Nginx做代理

一、FastDFS简要介绍

FastDFS为什么要用Nginx做代理

1.是什么

FastDFS就是一种轻量级的、常用的分布式文件系统,通常用作图片服务器。

2.两个部分都是干什么的

FastDFS分为两个部分,TrackerStorage

Tracker作为协调者,用户上传和下载文件都要通过tracker。

Storage是存储节点,主要用来存储文件。storage可以分成多个组,每个组有若干个节点,这些节点放的文件都是一样的。各个组存放的文件都是不一样的。所以,如果想扩充FastDFS的容量,非常方便,直接添加组就行了。

3.用户上传和下载文件的具体过程

文件上传过程

FastDFS为什么要用Nginx做代理

 

文件下载过程

FastDFS为什么要用Nginx做代理

二、FastDFS和Nginx结合使用

1.对tracker做负载均衡

为了承载更高的并发量,tracker可以做成集群。需要使用nginx做负载均衡。

2.nginx插件fastdfs-nginx-module的作用

FastDFS通过Tracker服务器,将文件放在Storage服务器存储,但是同组存储服务器之间需要进入文件复制,有同步延迟的问题。

假设Tracker服务器将文件上传到了192.168.4.125,上传成功后文件ID已经返回给客户端。此时FastDFS存储集群机制会将这个文件同步到同组存储192.168.4.126,在文件还没有复制完成的情况下,客户端如果用这个文件ID在192.168.4.126上取文件,就会出现文件无法访问的错误。 (125和126是同一个storage组)

而fastdfs-nginx-module可以重定向文件连接到文件上传时的源服务器取文件,避免客户端由于复制延迟导致的文件无法访问错误 。

 

 

 

上一篇:FastDFS java上传文件 tracker 地址设置


下一篇:分布式文件服务器FastDFS入门到实战