fastdfs分布式文件系统之tracker server介绍

  • Post author:
  • Post category:其他




tracker server是FastDFS文件系统的协调者,其主要作用是负载均衡和调度。Tracker server在内存中记录分组和Storage server的状态等信息,

不记录文件索引信息,占用的内存量很少。另外,客户端(应用)和Storage server访问Tracker server时,Tracker server扫描内存中的分组和

Storage server信息,然后给出应答。由此可以看出Tracker server非常轻量化,不会成为系统瓶颈。




FastDFS集群中的Tracker server可以有多台,Tracker server和Storage server均不存在单点问题。Tracker server之间是对等关系,组内的


Storage server之间也是对等关系。传统的Master-Slave结构中的Master是单点,写操作仅针对Master。如果Master失效,需要将Slave提升为Master,


实现逻辑会比较复杂。和Master-Slave结构相比,对等结构中所有结点的地位是相同的,每个结点都是Master,不存在单点问题。










FastDFS系统结构








从上图中可以看出,Tracker server之间相互独立,不存在直接联系。每次客户端client不管是上传、下载还是删除,首先







都要请求Tracker server,Tracker server通过负载均衡返回指定组类的最优的Storage server,然后后client再调用Storage




server进行上传、下载和删除功能。








在fastdfs系统中,客户端clinet和Storage server主动连接Tracker server。Storage server主动向Tracker server报告其状态信息,包括磁盘剩





余空间、文件同步状况、文件上传下载次数等统计信息。Storage server会连接整个集群中所有的Tracker server,向他们报告自己的状态。





Storage server启动一个单独的线程来完成对一台Tracker server的连接和定时报告。需要特别说明的是,一个组包含的Storage server不是通





过配置文件设定的,而是通过Tracker server获取到的。













上面的描述我们可以看出

Tracker server

是整个系统的调度者和负载均衡者,同时也收集各个组的健康状态。它很像nginx+keeplive的集

合体,有了

Tracker server

使得整个fastdfs系统性能更优,健壮性也更强。所以它在整个系统中是非常重要的。






:部分描述参考网上相关资料



版权声明:本文为Mr_Smile2014原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。