网站首页 > 精选教程 正文
整理个别同学对FastDFS的三大误解,我将逐一澄清。
误解一、FastDFS不易安装和配置
网上有人吐槽说FastDFS是他见过最难安装和配置的一款开源软件。首先自我检讨一下,源码目录下的安装文档 INSTALL尽管步骤基本都讲到了,但不够清晰明了,我昨天做了整理,感觉清爽多了。
另外一点是FastDFS版本发布有时比较密集,有的版本除了tracker sever和storage server要同时升级外,还需要nginx扩展模块和客户端SDK一起升级,版本配合关系写在各个模块源码目录的 INSTALL或 HISTORY文件中,如果大家不注意查看,容易出现版本不匹配导致编译不通过等问题。从V6.00开始,FastDFS每个版本发布都会推送一篇微信公众号文章,除了介绍新增功能和特性外,还会说明需要同步升级的相关模块。
再说一下FastDFS配置。FastDFS源码的conf目录下自带了配置文件示例,第一次执行安装脚本将被复制到 /etc/fdfs目录下。使用者直接修改 /etc/fdfs下对应的配置文件即可。看到配置文件中的若干配置项(参数),take easy(不要感到害怕),因为大多数配置项采用默认配置就可以,你只需要修改几个关键参数即可。像base_path这样的关键参数如果你没有修改的话,启动程序时将报错,你可以根据报错信息修改相应的配置项。
自认为FastDFS的日志文件还是比较周全和有营养的。大家在使用过程中如果发现日志有表达不清楚或让人误解的地方,请反馈给我。
误解二 、FastDFS不能存储大文件
因为FastDFS没有对大文件做特殊处理和支持,FastDFS非常适合存储小文件(10MB以下),也适合存储中型文件(小于1GB),可以存储大文件(小于10GB),不太适合存储超大文件(大于10GB)。
FastDFS上传大文件时,可以先上传appender类型的文件,然后以分片方式(比如每次64MB)调用append方法,完成上传后可以调用V6.02开始支持的regenerate_appender_filename方法将文件改名为普通文件。
FastDFS支持指定文件偏移量和下载的内容大小,使用这一特性可以支持大文件断点续传,也可以支持多线程方式下载大文件。
误解三、FastDFS限制存储的文件数
为了防止一个目录下的文件数过多影响访问性能,FastDFS采用两级目录来保存文件。每一级目录最大256个子目录(默认配置为256,可以酌情改小),两级目录对应的存储目录数为 256 * 256 = 65536。如果平均一个目录下保存1k个文件,那么存储的文件总数将超过6kw。
为什么大家会认为FastDFS将限制存储的文件数呢?是因为FastDFS的一种做法让大家产生了误解,这就是默认的按目录轮流存储方式(参数file_distribute_to_path为0,即轮流存储方式,默认设置就是0)。此时还有一个参数file_distribute_rotate_count来设置存储到多少个文件后轮转到下一个目录。需要澄清的是,轮转到下一个目录的依据,不是当前目录已存储的文件数(实际存放文件数),而是本轮已存储的文件数。这是个内存计数器,在有更新的情况下会定期刷到文件中。引入这两个参数的目的,是让存储目录下的文件尽可能分散(防止文件过度集中),但又不保证绝对平均分布。比如可能一个目录下存在的文件数为200(两台storage server均可以上传文件的情况下),但另外一个目录下的文件数却只有180(本来存放了200个文件,其中20个文件后来被删除了)。
最后贴一下引起大家误解的参数 file_distribute_rotate_count配置示例:
# valid when file_distribute_to_path is set to 0 (round robin).
# when the written file count reaches this number, then rotate to next path.
# rotate to the first path (00/00) after the last path (such as FF/FF).
# default value is 100
file_distribute_rotate_count = 100
猜你喜欢
- 2024-10-22 Linux新手入门系列:FastDFS概念和原理
- 2024-10-22 技术分享:四个全新维度,高效优化你的HTTP性能
- 2024-10-22 码农大叔打赌——你不明白HTTP1.0/HTTP1.1/HTTP2.0的区别
- 2024-10-22 使用 Node.js 开发的 SpaceX-API 开源了
- 2024-10-22 科普文,Linux系统服务和构建运维,常识分享
- 2024-10-22 迷你公司落地oss对接方案-oss直传
- 2024-10-22 zuihou-admin-cloud微服务脚手架 微服务 容器云
- 2024-10-22 「推荐」基于在线代码生成器的多租户开发平台
- 2024-10-22 多租户微服务脚手架 zuihou-admin-cloud,不错的学习案例
- 2024-10-22 多租户微服务脚手架 zuihou-admin-cloud,及1.2 版本正式发布
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)