FastDFS
fastDFS是一个开源的轻量级分布式文件系统,它可以对文件进行管理操作,功能包括:
- 文件存储
- 文件自动同步
- 文件的访问(文件的上传 下载等)
解决了大容量存储和负载均衡,特别适合以文件为载体的在线服务,例如相册网站,视频网站,商城等。
FastDFS是一个专门为互联网量身定制,充分考虑了冗余备份,负载均衡,扩容机制,并注重高可用,高性能等指标,使用FastDFS可以何用意搭建一套高性能的问及那服务集群提供服务。
FastDFS里面又两个核心角色:
-
跟踪器(tracker)
负责调度工作,在访问上负责负载均衡
-
存储节点(storage)
文件的储存,以及文件的管理操作,他提供文件的存储,同步,提取等接口
FastDFS会对文件的metaData进行管理,所谓的metaData是指文件的相关属性,以及key value的形式表示,如果我们上传的是一张图片,图片的宽,高等属性会被记录成 width=888,metaData也就是文件的属性列表包含多个键值对。
跟踪器以及存储节点都可以使一台或多台服务服务器组成,并且跟踪器和存储节点的服务增加贺下线都不会应该想服务的正常运行,其中跟踪器里面的所有服务都是对等的,可以根据服务器的压力岁时调整。
为了支持大容量数据的存储,存储节点采用分卷的组织方式,这存储系统由一个或者多个卷组成。卷与卷之间的系统是相互独立的,所有的卷中的我呢见容量累加就是整个存储系统的所有文件。每一个卷都可以由一台或多台服务器组成的,卷中的所有存储服务中文件都是相同的,卷中的多台服务实现了冗余备份及高可用的负载均衡。在卷中增加服务器的时候,所有文件都由系统自动完成同步,当文件同步完成后系统自动将服务器上线提供服务。
当存储空间不足时,可以动态的添加卷,来达到容量的扩充,FastDFS中文件的标识符由两部分组成
卷名+文件名
安装FastDFS
-
安装gcc和c++
[root@Test1 ~]# yum install gcc [root@Test1 ~]# yum install gcc-c++
-
解压V1.0.7(fastDFS运行的一些基本库)
[root@Test1 local]# tar -zxvf V1.0.7.tar.gz
-
编译
[root@Test1 ~]# cd libfastcommon-1.0.7 [root@Test1 libfastcommon-1.0.7]# ./make.sh
-
安装
[root@Test1 libfastcommon-1.0.7]# ./make.sh install
-
简历软连接
[root@Test1 libfastcommon-1.0.7]# ln -s /usr/lib64/libfastcommmon.so /usr/local/lib/libfastcommon.so [root@Test1 libfastcommon-1.0.7]