浅谈fastDFS(下)

来源:互联网 发布:淘宝自动上传宝贝软件 编辑:程序博客网 时间:2024/05/16 08:22

其实上一篇已经简单说了下fastDFS,包括使用及主要配置,今天呢就主要从原理上剖析下它的用途及作为文件服务器存储的负载同步问题。

一、fastDFS用途主要如下:

1、  FastDFS主要解决了大容量的文件存储和高并发访问的问题,文件存取时实现了负载均衡。

2、  FastDFS实现了软件方式的RAID,可以使用廉价的IDE硬盘进行存储,支持存储服务器在线扩容。

3、  FastDFS特别适合大中型网站使用,用来存储资源文件(如:图片、文档、音频、视频等等。

二、fastDFS原理

存储节点采用了分组(group)的方式。存储系统由一个或多个group组成,groupgroup之间的文件是相互独立的,所有group的文件容量累加就是整个存储系统中的文件容量。一个group可以由一台或多台存储服务器组成,一个group下的存储服务器中的文件都是相同的,group中的多台存储服务器起到了冗余备份和负载均衡的作用(一个组的存储容量为该组内存储服务器容量最小的那个,不同组的Storage server之间不会相互通信,同组内的Storage server之间会相互连接进行文件同步)。在group中增加服务器时,同步已有的文件有系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务器。当存储空间不足或即将耗尽时,可以动态添加group,只需要增加一台或多台服务器,并将它们配置为一个新的group,这样就能扩大存储系统的容量了。下图我在上一篇中也提到,但能很好的体现trackergroup关系以及客户访问方式。

 

三、结合项目说下具体配置

简单说下我们系统主要是论坛社区类的,fastDFS主要是用来存储一些用户头像和附近之类的。同时提供了两种访问文件服务器途径,一是通过web服务器,二是通过fastDFS自带的API,同时提供两个tracker及四个storage两两分组实现负载。主要配置如下:

1storage配置,同组内配置完成一致,不同组内就是group_name不一致其他也完全相同

2apache服务器配置

 

4、  程序调用主要配置

5、主要程序代码

 

 

原创粉丝点击