您的位置:首页 > 其它

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

2016-08-02 21:47 274 查看
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系统性能更优,健壮性也更强。所以它在整个系统中是非常重要的。

:部分描述参考网上相关资料
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: