学习笔记-FastDFS

  • 内容简介

    在跟随项目实践过程中,代码中需要使用上传图片的功能,其中使用了FastDFS作为图片服务器,在此记录一下搭建FastDFS服务器的过程


  • 框架介绍

    1.什么是FastDFS

    FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

    2.FastDFS架构

    FastDFS架构包括 Tracker server和Storage server。客户端请求Tracker server进行文件上传、下载,通过Tracker server调度最终由Storage server完成文件上传和下载。
    Tracker server作用是负载均衡和调度,通过Tracker server在文件上传时可以根据一些策略找到Storage server提供文件上传服务。可以将tracker称为追踪服务器或调度服务器。
    Storage server作用是文件存储,客户端上传的文件最终存储在Storage服务器上,Storage server没有实现自己的文件系统而是利用操作系统 的文件系统来管理文件。可以将storage称为存储服务器,如下图:

    fastdfs-show

    3.Tracker 集群

    FastDFS集群中的Tracker server可以有多台,Tracker server之间是相互平等关系同时提供服务,Tracker server不存在单点故障。客户端请求Tracker server采用轮询方式,如果请求的tracker无法提供服务则换另一个tracker。

    4.Storage集群

    Storage集群采用了分组存储方式。storage集群由一个或多个组构成,集群存储总容量为集群中所有组的存储容量之和。一个组由一台或多台存储服务器组成,组内的Storage server之间是平等关系,不同组的Storage server之间不会相互通信,同组内的Storage server之间会相互连接进行文件同步,从而保证同组内每个storage上的文件完全一致的。一个组的存储容量为该组内存储服务器容量最小的那个,由此可见组内存储服务器的软硬件配置最好是一致的。
    采用分组存储方式的好处是灵活、可控性较强。比如上传文件时,可以由客户端直接指定上传到的组也可以由tracker进行调度选择。一个分组的存储服务器访问压力较大时,可

  • 准备工作

    1.前提条件

    安装好了VM+CentOs6.4(网络等配置都可正常使用)
    已安装nginx(非必须)
    JDK1.7

    2.安装所需

    fastdfs-nginx-module_v1.16.tar.gz - 集成nginx所需模块
    FastDFS_v5.05.tar.gz - FastDFS源码,C语言编写,需要手动编译
    jdk-7u67-linux-x64.tar.gz
    nginx-1.8.0.tar.gz - nginx源码,C语言编写,需要手动编译
    libfastcommonV1.0.7.tar.gz - FastDFS官方提供的基础库
    perl-5.20.2.tar.gz - 编译基础库所需要的语言环境


  • 服务搭建

    1.环境介绍

    • VM + CentOs6.4 + Jdk1.7 + nginx1.8.0

    • 此处记录的是在同一台服务器上同时搭建tracker和storage,并且都是一个,组成的是一个最简便的集群环境。


    2.安装libfastcommon基础库

    • 将压缩包上传至虚拟机/usr/local下,解压缩

    • 进入文件夹,看到有make.sh文件,执行 ./make.sh ,初次安装会报错,因为缺少必要的语言运行环境,执行下列命令

      
      # FastDFS依赖libevent库,需要安装:
      
      yum -y install libevent
      
      
      # 安装gcc库,若之前安装过nginx,则不需要重复安装
      
      yum -y install gcc 
      yum -y install gcc -c++ 
    • 安装Perl语言环境,需要下载源码perl-5.20.2.tar.gz,上传至/usr/local下,解压缩,进入目录,依次执行:

      $ tar -xzf perl-5.x.y.tar.gz //解压缩
      
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值