FastDFS

                                                                                                        FastDFS

 

1.简介: FastDFS是一个开源的轻量级分布式文件系统,由服务器(tracker server)、存储服务器(storage server)和客户端(client)三个部分组成,主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB

 

                

 

2.组成:

  存储服务器

 存储服务器(storage server): 以组(group)为单位组织, 一个group内包含多台storage机器, 数据互为备份, 
存储空间以group内容量最小的storage为准, 所以建议group内的多个storage尽量配置相同,以免造成存储空间的浪费。

 优点:1.可以很好的将不同应用的数据进行隔离; 一个group下的所有的存储服务器(storage)中的文件都是相同的
      2卷中的多台存储服务器起到了 备份和 负载均衡的作用。
 缺点: group的容量受单机存储容量的限制,同时当group内有机器坏掉时,数据恢复只能依赖group内地其他机器,使得恢复时间会很长

 

  踪服务器

  踪服务器(tracker server):Tracker是FastDFS的协调者,负责管理所有的storage server和group,每个storage在启动后会连接Tracker,
告知自己所属的group等信息并保持周期性的心跳,tracker根据storage的心跳信息,建立group==>[storage server list]的映射表。

  优点:自身管理的信息很少,会全部存储再内存中,本身不需要持久化任何数据,所以很容易扩展,直接增加tracker机器就可以建立集群,
集群中的每个tracker是完全对等的    

   客户端(Client)

 

 

2.上传文件 Upload fileFastDFS向使用者提供基本文件访问接口,比如upload、download、append、delete等,以客户端库的方式提供给用户使用。

                                                                                                                            


 

  1. 选择tracker server:

      当集群中不止一个tracker server时,由于tracker之间的完全对等的关系,客户端在upload文件时可以任意选择一个trakcer
 2. 选择存储的group

       当tracker接受到upload的请求时,会在储存服务器 中为该文件分配一个可以group。 

       选择group的原则:1.所有的group轮询;2.指定某一个确定的group;3.剩余内存多的group优先

  3. 选择存储服务器

       当选定group后,跟踪服务器会在group中选择一个储存服务器给客户端。 
       选择储存服务器的规则:1.group中所有的储存服务器; 2.按ip排序选择; 3.按照优先级排序 (优先级在储存服务器上配置)
 4. 选择存储的的路径

      当分配号储存服务器后,客户端向储存服务器发送写文件的请求,储存服务器会为文件分配一个数据储存目录。
      选择储存目录的规则:1.多个目录间轮询;2.剩余储存空间最多的优先
5. 选择存储的的路径

      选定储存目录之后,storage会为文件生成一个fileid

 

    文件同步:客户端将文件写进group内的一个储存服务器后,会由后台线程同步至同一个group内其他的储存服务器 

 

3.同一个group储存服务器同步问题:

       1. 只在同组内的storage server之间进行同步

        2. 源数据才需要同步,备份数据不再同步

        3. 新增storage server时,由其中一台将已有所有数据(包括源数据和备份数据)同步到新增服务器

 

 

 


 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值