需求按优先级顺序表述如下:

1)存放3TB以上中小型文件,图片为主,平均在500~700k,一般在1M以内。2)要集群化,支持负载均衡,高可用高性能。有大企业使用背书最好。3)提供Java程序上传文件的手段。Java代码可以在Windows环境下调试。4)必须开源,作者能保持更新。5)有运维监控手段,能快速定位出问题的服务器。6)(加分项)新增存储服务器时,不需要更改Nginx负载均衡和Java程序的配置。

看了一大堆资料,没完美的解决方案,稍为符合的候选者只有3个:

综合来说,想简单易上手,seaweedfs的生态圈比较齐全,而且作者一直在更新。当然FastDFS也是不错的选择。

框架 简介 文件存放方式 支持高可用 容量扩展手段 浏览器 gzip 支持 浏览器端缓存 程序访问
FastDFS

我知道国内很多创业公司都在用,自己也用了一段时间,比较稳定,网友写了不少中文资料,但官方几乎没有文档。建议用fastdfs-nginx-module吐流,而不是反向代理直接访问某个storage服务器。

运维方面:出现不能访问时,要查分布在多个地方的日志(nginx > nginx fastdfs module >storage > tracker),不熟悉的人不太好查原因。

主页:https://github.com/happyfish100/fastdfs

部署方式说明:http://blog.csdn.net/xifeijian/article/details/38567839

Docker:https://hub.docker.com/r/hhland/fastdfs/ ,https://hub.docker.com/r/season/fastdfs/

一个不错的参考方案:https://github.com/daniellitoc/xultimate-resource

key-value 方式存放。

没有上传目录的概念,研发/测试环境需要独立部署自用的文件服务器。

不支持文件列表,不支持FUSE

集群可由多台Tracker与多台Storage服务器组成。

多台tracker之间没有集群,由客户端解决failover问题。

storage服务器以group为单位组织,同一group下的不同storage服务器文件完全相同,主要用于负载均衡和容错,类似硬盘RAID10的方案。

不支持多机房。

TB级存储方案

1.同一storage服务器可以在配置中指定多个store_path来增加硬盘。

2.支持以group为单位增加服务器来扩展容量。

3.总容量为所有group加起来

由反向代理临时压缩 支持If-Modified-Since

语言SDK:通过专用SDK,支持Java。

REST接口:无

http读文件:可通过storage服务器的http服务,也可以通过装了fastdfs-nginx-module的nginx提供。建议使用后者。

百度BFS
(待研究)

功能强大,但网上文档非常少,百度搜索未发现使用经验文章。介绍说百度整个公司都在用。

主页:https://github.com/baidu/bfs

Docker:提供Dockerfile,但没放到Docker Hub。

目录方式存放。

支持文件列表,支持FUSE

集群由NameServer,MetaServer,ChunkServer组成。

NameServer使用raft算法,依赖Neuxs或Zookeeper选出Leader,失效时自动重选Leader

ChuckServer的高可用:待分析

对多机房,多服务器支持最好。

PB级存储方案

 待分析  待分析

语言SDK:通过专用SDK访问,不支持Java,但可以通过FUSE桥接实现,Windows下估计需要用Cygwin才能访问。

REST接口:无

http读文件:NameServer提供访问。

seaweedfs

功能强大,似乎非常有潜力,中文资料少。Doc中说"中通快递"在用。

由于没用过,运维不好说是否方便。

主页:https://github.com/chrislusf/seaweedfs

部署与使用说明:http://blog.chinaunix.net/uid-25057421-id-5676348.html

官方Docker:https://hub.docker.com/r/chrislusf/seaweedfs/

key-value 方式存放。

filer可以上传到指定目录。但由于java的sdk都是直连master与volume,所以研发/测试环境不能共用同一台文件服务器。

filer支持文件列表,但不支持FUSE

集群由多台master与多台volume服务器组成。volume之间的复制行为由复制策略所决定。

支持多机房,多种复制策略。

PB级存储方案

增加volume服务器能增加容量,但有效增加多少与复制策略有关。

支持预压缩成gzip格式文件,直接吐流成gzip 支持etag,If-Modified-Since等

语言SDK:实际所有SDK上都是通过REST接口访问。有Java版本。

REST接口:volume与filer服务器提供不同层级的接口,volume是key-value方式的,filer是类似目录的方式。

http读文件:filer服务器提供

DFS-分布式文件系统对比相关推荐

  1. 无忧技术带您预览DFS(分布式文件系统)管理控制台

    相关图文文章请查看http://www.itpro8.com/weiruanjishu/Windows2003/2010/0107/131.html DFS(分布式文件系统)的管理控制台是一个图形界面 ...

  2. DFS分布式文件系统--管理篇

    DFS分布式文件系统--管理篇 参考文档: 浅谈DFS分布式文件系统 DFS 命名空间 和 DFS 复制概述 续DFS分布式文件系统--基础篇 DFS分布式文件系统--部署篇 添加命名空间服务器 (添 ...

  3. Windows Server 2016系统高级管理系列-DFS分布式文件系统

    https://blog.csdn.net/wmcoo/article/details/105309345 DFS分布式文件系统在线视频观看地址:https://edu.51cto.com/cours ...

  4. Win2003利用dfs(分布式文件系统)在负载均衡下的文件同步配置方案

    2019独角兽企业重金招聘Python工程师标准>>> 因网站流量增加为了给网站减轻负担特需要文件同步与负载均衡,通过增加一台服务器,通过dfs配置实现文件的同步 1. 建议要同步的 ...

  5. 分布式文件系统对比与选型参考

    一.分布式文件系统 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连.分布式文件系统的设计基于客户 ...

  6. 主流分布式文件系统对比:区块链分布式技术引发云存储革命?HDFS,GFS,GPFS,FusionStorage,IPFS

    https://blog.csdn.net/weixin_45494421/article/details/98760782 概要:常见的分布式文件系统有GFS.HDFS等,也有新兴的基于区块链IPF ...

  7. 主流分布式文件系统对比

    点击下方公众号「关注」和「星标」 回复"1024"获取独家整理的学习资料! 本文较长,建议细细品读,必有不同的收获. 一.概述 分布式文件系统是分布式领域的一个基础应用,其中最著名 ...

  8. DFS分布式文件系统 不同用户访问不同服务器修改同一文件 解决方案

    当两个用户在不同的服务器上同时更新同一个文件的时候,会出现什么情况? 场景分析: 两台服务器(10.205.8.54)和(10.205.8.55),已经安装了DFS命名空间服务器,且已经能够实现容错和 ...

  9. linux 文件系统 dfs,分布式文件系统fastDFS 机器硬件要求

    复制内容到剪贴板 代码:top - 14:18:28 up 233 days, 10:56,  1 user,  load average: 0.01, 0.02, 0.00 Tasks: 278 t ...

  10. 什么叫dfs文件服务器,什么是DFS(分布式文件系统)以及DFS的优点

    满意答案 通过 DFS(分布式文件系统),一台服务器上的某个共享点能够作为驻留在其他服务器上的共享资源的宿主.DFS 以透明方式链接文件服务器和共享文件夹,然后将其映射到单个层次结构,以便可以从一个位 ...

最新文章

  1. 数组 = 容器
  2. linux系统文件保存后恢复,linux系统文件误删恢复
  3. Android Studio你不知道的调试技巧
  4. 电子商务(六)-作业题解-第3章
  5. 我の第一篇万字博文 | 带大家开开心心地进入Python世界
  6. SparkProgrammingRDDs
  7. linux中fork和exec
  8. 简单的测试可以防止最严重的故障
  9. html知识笔记(二)——div、table、a标签
  10. [git] 基础操作-02 分支和主支合并
  11. python3 在线加密_Python3对称加密算法AES、DES3实例详解
  12. CCleaner v5.73.8130 发布,系统清理工具
  13. HDU 2546 饭卡 动态规划01背包
  14. FMS的安装、基本配置及基本测试
  15. 深入解析protobuf 2-自定义protoc 插件
  16. 去掉设备和驱动器的百度网盘
  17. 基于依存句法分析的开放式中文实体关系抽取
  18. 摘自一个MILLION SONG DATASET里的一段读取基于HDF5文件格式的歌曲信息
  19. ActivityManagerService解读之Activity启动时间闲聊--Android Framework层时间计算介绍
  20. 【号外】软银为何忍痛割爱卖阿里股份?

热门文章

  1. 9. PHP 之 Factory pattern(工厂设计模式)
  2. SpringBoot中自定义错误页面
  3. Jmeter集成Jira提交缺陷
  4. java反射——构造方法
  5. golang+linux+pipline
  6. 如果Google统治世界[组图]
  7. 非直接缓冲区与直接缓冲区
  8. PostGis+GeoServer+OpenLayers最短路径分析
  9. ArrayList源码详解篇
  10. ElasticSearch学习(五):数据导入之Logstash