专栏首页逸鹏说道分布式小文件系统fastdfs与weedfs的对比

分布式小文件系统fastdfs与weedfs的对比

小编小文件存储用的一直是Mongodb,Tair和FastDFS风评一直很不错,最近1年Net界用的比较多的基本上都是FastDFS或者Mongodb(分布式图片服务器集群)。我也是今天才看到seaweedfs,小编挺看好的,Net和Go的项目混搭在中大型Net技术主线公司是越来越常见了~~~~

最近拿一台双核1G的kvm vps搭建了一个图片的服务器,前面用百度云加速扛着,有了个专业图片存储及CDN的样子。每天还是有50W左右的PV,流量在30G左右。总结一下最近接触过的两个分布式小文件系统weedfs和fastdfs。

astdfs的详细介绍看这里=》 https://github.com/happyfish100/fastdfs

weedfs官方地址= >https://github.com/chrislusf/seaweedfs

在两个系统中都有一个负责管理存储节点或者存储卷的服务,weedfs中叫master,而fastdfs中叫做tracker。下面是在文档中对各自的master的解释

FastDFS 服务端有两个角色:跟踪器( tracker )和存储节点( storage )。跟踪器主要做调度工作,在访问上起负载均衡的作用。Weed - FS 的 master server 选择管理数据卷( data volumes )而不是数据块,每个数据卷大小是 32GB ,能够保存大量的文件( 小文件 ),每个存储节点能够拥有很多个数据卷, master 节点只需要保存这些卷的元数据就可以了,并且这些数据量很少,并且大部分情况下是很少会变化的。所有的卷都由 master 服务器来管理, master 服务器包含了卷 id 和卷服务器的 mapping ,这些信息基本不变,可以很好的缓存起来。

根据上面的解释就可以知道,master在上传和下载文件的过程中都承载着定位文件需要上传或者下载的具体的卷。

在具体存储小文件的时候,weedfs是通过将多个小文件的二级制存储到一个大文件中,然后通过索引进行具体的位置的定位。而fastdfs是通过文件夹散列的方式将文件直接存储在硬盘上面。但从这里就可以看出来,在海量小文件的情况下,weedfs产生的文件的元数据是很少的,因他他至于每个数据卷的元数据。而weedfs会产生大量的元数据,因为他依赖的是操作系统的文件管理系统,对每一个文件的定位以及验证都是通过元数据来进行的。

从上面的对比就可以看出来,在海量小文件的情况下肯定是weedfs的性能更高,因为他的文件元数据是相当少的,所以这部分经常被访问的元数据能够被操作系统或者内存直接缓存住,这样就减少了对磁盘的操作,而磁盘的操作只需要进行一次,就是在进行文件读取的时候。而fastdfs回产生海量的文件的元数据,大到一定程序了操作系统的缓存或者内存就无法进行全部存储了,这样就造成了在硬盘上进行随机读写来查找文件了,两个效率和速度以及对系统和硬盘造成的负载显而易见了。

总结:小文件存储不同于大文件,大文件的性能和时间消耗,主要在传输的带宽等限制上。而小文件主要在于系统本身的读取速度上。所以综合来说,个人觉得weedfs比fastdfs更先进,更能承受数量更大的小文件

本文分享自微信公众号 - 我为Net狂(dotNetCrazy)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-03-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 分布式文件系统 fastdfs

    fastdfs FastDFS是一款开源的轻量级分布式文件系统纯C实现,支持Linux、FreeBSD等UNIX系统类google FS,不是通用的文件系统,只...

    零月
  • FastDFS分布式文件系统

    一,简介 FastDFS是一个开源的轻量级 分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决...

    java达人
  • 分布式文件系统FastDFS

    FastDFS是一个开源的轻量级分布式文件系统,开发语言为C,适合以小型文件为载体的在线服务,如相册网站、图片服务器等等。

    心平气和
  • 分布式文件系统FastDfs

    随着文件数据的越来越多,通过tomcat或nginx虚拟化的静态资源文件在单一的一个服务器节点内是存不下的,如果用多个节点来存储也可以,但是不利于管理和维护,所...

    公众号 IT老哥
  • 分布式文件系统(HDFS)与 linux系统文件系统 对比

    初次接触分布式文件系统,有很多迷惑。通过参考网络文章,这里进行对比一下Hadoop 分布式文件系统(HDFS)与 传统文件系统之间的关系:

    xuyaowen
  • 分布式文件系统FastDFS详解

    上一篇文章《一次FastDFS并发问题的排查经历》介绍了一次生产排查并发问题的经历,可能有些人对FastDFS不是特别的了解,因此计划写几篇文章完整的介绍一下这...

    纯洁的微笑
  • 分布式文件系统FastDFS详解

    FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡...

    民工哥
  • 分布式文件系统(HDFS和FastDFS)

    FastDFS 是一个开源的高性能分布式文件系统(DFS)。 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡。主要解决了海量数据存储问题,...

    剑行者
  • FastDFS 分布式文件系统入门

    分布式:不同的业务模块部署在不同的服务器上或者同一个业务模块拆分为多个子业务,部署在不同的服务器上,解决高并发的问题。

    RendaZhang
  • 搭建分布式文件系统FastDFS

    FastDFS(Fast Distributed File System)是一款开源轻量级分布式文件系统;

    java乐园
  • FastDFS V5.12分布式文件系统介绍

    最近要用到fastDFS,所以自己研究了一下,在搭建FastDFS的过程中遇到过很多的问题,为了能帮忙到以后搭建FastDFS的同学,少走弯路,与大家分享一...

    似水的流年
  • FastDFS V5.12分布式文件系统介绍

    最近要用到fastDFS,所以自己研究了一下,在搭建FastDFS的过程中遇到过很多的问题,为了能帮忙到以后搭建FastDFS的同学,少走弯路,与大家分享一下。...

    似水的流年
  • FastDFS分布式文件上传系统的搭建

    https://sourceforge.net/projects/fastdfs/

    lyb-geek
  • 分布式文件系统FastDFS动态扩容

      当用户量越来越大,则集群中某个group总会到达其极限,这时就得扩展集群的容量了。 FastDFS的扩容分为对group纵向扩容和横向扩容   纵向扩容 指...

    欢醉
  • 分布式文件系统FastDFS安装配置

    FastDFS是一个分布式的文件系统,他可以把上传到某一台服务器的文件分发复制到其他节点的文件服务器上做高可用。

    算法之名
  • CentOS7 搭建FastDFS分布式文件系统(下)

    前面一篇文章已对FastDFS的安装和配置,做了比较详细的讲解。FastDFS的基础模块都搭好了,现在开始测试下载。

    胡齐
  • CentOS7 搭建FastDFS分布式文件系统(上)

    FastDFS的作者淘宝资深架构余庆,这个优秀的轻量及的分布式文件系统的开源没多久,立马就火了。FastDFS是为互联网应用量身定做的一套分布式文件存储系统,非...

    胡齐
  • CentOS操作系统搭建FastDFS分布式文件系统

    沈唁
  • Python3与fastdfs分布式文件系统如何实现交互

    注意:client.conf是从fdfs服务器上复制到django代码机器上的文件,需要将里面的base_path路径修改成存放client.conf的路径

    砸漏

扫码关注云+社区

领取腾讯云代金券