FastDfs介绍

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

FastDFS介绍余庆2009年09月13日提纲•FastDFS简介•系统架构•相关术语•同步机制•通信协议•目录结构•安装和运行•和其他系统对比FastDFS简介•FastDFS是一个轻量级的开源分布式文件系统•FastDFS主要解决了大容量的文件存储和高并发访问的问题,文件存取时实现了负载均衡•FastDFS实现了软件方式的RAID,可以使用廉价的IDE硬盘进行存储•支持存储服务器在线扩容•支持相同内容的文件只保存一份,节约磁盘空间•FastDFS只能通过ClientAPI访问,不支持POSIX访问方式•FastDFS特别适合大中型网站使用,用来存储资源文件(如:图片、文档、音频、视频等等)系统架构-架构图系统架构-上传文件流程图•1.client询问tracker上传到的storage,不需要附加参数;•2.tracker返回一台可用的storage;•3.client直接和storage通讯完成文件上传。系统架构-下载文件流程图•1.client询问tracker下载文件的storage,参数为文件标识(组名和文件名);•2.tracker返回一台可用的storage;•3.client直接和storage通讯完成文件下载。相关术语•TrackerServer:跟踪服务器,主要做调度工作,在访问上起负载均衡的作用。记录storageserver的状态,是连接Client和Storageserver的枢纽。•StorageServer:存储服务器,文件和metadata都保存到存储服务器上•group:组,也可称为卷。同组内服务器上的文件是完全相同的•文件标识:包括两部分:组名和文件名(包含路径)•metadata:文件相关属性,键值对(KeyValuePair)方式,如:width=1024,heigth=768同步机制•同一组内的storageserver之间是对等的,文件上传、删除等操作可以在任意一台storageserver上进行;•文件同步只在同组内的storageserver之间进行,采用push方式,即源服务器同步给目标服务器;•源头数据才需要同步,备份数据不需要再次同步,否则就构成环路了;•上述第二条规则有个例外,就是新增加一台storageserver时,由已有的一台storageserver将已有的所有数据(包括源头数据和备份数据)同步给该新增服务器。通信协议•协议包由两部分组成:header和body•header共10字节,格式如下:–8bytesbodylength–1bytecommand–1bytestatus•body数据包格式由取决于具体的命令,body可以为空运行时目录结构-trackerserver•${base_path}|__data||__storage_groups.dat:存储分组信息||__storage_servers.dat:存储服务器列表|__logs|__trackerd.log:trackerserver日志文件运行时目录结构-storageserver•${base_path}|__data||__.data_init_flag:当前storageserver初始化信息||__storage_stat.dat:当前storageserver统计信息||__sync:存放数据同步相关文件|||__binlog.index:当前的binlog文件索引号|||__binlog.###:存放更新操作记录(日志)|||__${ip_addr}_${port}.mark:存放同步的完成情况||||__一级目录:256个存放数据文件的目录,如:00,1F||__二级目录:256个存放数据文件的目录|__logs|__storaged.log:storageserver日志文件安装和运行•#step1.downloadFastDFSsourcepackageandunpackit,•#ifyouuseHTTPtodownloadfile,pleasedownloadlibevent1.4.xandinstallit•tarxzfFastDFS_v1.x.tar.gz•#forexample:•tarxzfFastDFS_v1.20.tar.gz•#step2.entertheFastDFSdir•cdFastDFS•#step3.ifHTTPsupported,modifymake.sh,uncommenttheline:•#WITH_HTTPD=1,thenexecute:•./make.sh•#step4.makeinstall•./make.shinstall•#step5.edit/modifytheconfigfileoftrackerandstorage•#step6.runserverprograms•#startthetrackerserver:•/usr/local/bin/fdfs_trackerdtracker_conf_filename•#startthestorageserver:•/usr/local/bin/fdfs_storagedstorage_conf_filenameFastDFS和集中存储方式对比指标FastDFSNFS集中存储设备如NetApp、NAS线性扩容性高差差文件高并发访问性能高差一般文件访问方式专有APIPOSIX支持POSIX硬件成本较低中等高相同内容文件只保存一份支持不支持不支持FastDFS和mogileFS对比指标FastDFSmogileFS系统简洁性简洁只有两个角色:tracker和storage一般有三个角色:tracker、storage和存储文件信息的mysqldb系统性能很高(没有使用数据库,文件同步直接点对点,不经过tracker中转)高(使用mysql来存储文件索引等信息,文件同步通过tracker调度和中转)系统稳定性高(C语言开发,可以支持高并发和高负载)一般(Perl语言开发,高并发和高负载支持一般)RAID方式分组(组内冗余),灵活性较大动态冗余,灵活性一般通信协议专有协议下载文件支持HTTPHTTP技术文档较详细较少文件附加属性(metadata)支持不支持相同内容文件只保存一份支持不支持下载文件时支持文件偏移量支持不支持参考网站•FastDFS中文:•FastDFS英文:谢谢大家!

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功