文件存储服务器调研

推荐项目

MinIO

  •     Star:29.3k
  •     贡献者人数:310    
  •     许可标准:AGPL-3.0 License
  •    项目地址:https://github.com/minio/minio    
  •     文档:http://www.minio.org.cn
  •    版本对比:含开源版(免费)、标准版(收费)、企业版(收费),详见http://www.minio.org.cn/pricing.shtml
  •     部署:部署简单,且提供容器化支持,MinIO提供了与k8s、etcd、docker等容器化技术深度集成方案
  •     UI界面支持:自带UI界面,不需要单独的部署,和服务端一并安装,开箱即用
  •     SDK支持:提供了几乎所有主流开发语言的SDK以及文档,JavaScript、Java、Python、Golang、.NET、Haskell
  •     特点:号称是世界上速度最快的对象存储服务器。在标准硬件上,对象存储的读/写速度最高可以达到183 GB/s和171 GB/s。遵循AWS S3标准兼容,只要云厂商支持S3标准,就可以把对象存储放到云上,不需要重新开发。
  • 单机 Minio 服务存在单点故障,相反,如果是一个 N 节点的分布式 Minio ,只要有 N/2 节点在线,你的数据就是安全的。不过你需要至少有 N/2+1 个节点来创建新的对象。例如,一个 4 节点的 Minio 集群,每个节点一块盘,就算 2 个节点宕机,这个集群仍然是可读的。但此时并不能写数据,因为不满足N/2+1条件
  •     MinIO 分布式集群搭建条件
  1. 分布式 Minio 单租户存在最少 4 个盘最多 16 个盘的限制(受限于纠删码)。
  •  一般来说,至少4个节点即4台服务器,每台服务器1块单独的干净的硬盘。但是也有取巧,只要遵守分布式 Minio 的限制,你可以组合不同的节点和每个节点几块盘。比如,一个 8 节点的 Minio 集群,你可以使用 2 个节点,每个节点 4 块盘,也可以使用 4 个节点,每个节点2块盘,诸如此类。但是现在服务器一般都会上云,极少会出现盘损坏的情况,所以一般都只考虑1个服务器1块盘的方式,多了也是浪费;当然,如果为了节约服务器成本,在兼顾Minio限制的情况下,也只能这么做 

        

  •    4个服务器的时间必须要一致,MINIO是依赖时间来同步文件的,如果时间相差超过3秒,同步就会有问题。
  •    实战
  1. minio分布式部署高可用4节点4硬盘实战:https://blog.csdn.net/nasen512/article/details/118415639

FastDFS

  •     Star:7.6k
  •     贡献者人数:8
  •     社区活跃度:一般活跃
  •     许可标准:GPL-3.0 License
  •     项目地址:https://github.com/happyfish100/fastdfs
  •     文档地址:
  1. https://www.oschina.net/p/fastdfs
  2. https://github.com/judasn/Linux-Tutorial/blob/master/markdown-file/FastDFS-Install-And-Settings.md
  •     部署:比较复杂
  •     UI界面支持:无UI
  •     SDK支持:目前提供了 C 和 Java SDK ,以及 PHP 扩展 SDK
  •     特点:国人开发的一款分布式文件系统。它的主要功能包括:文件存储、文件同步和文件访问(文件上传和文件下载),它可以解决高容量和负载均衡问题。适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务

供参考项目

SeaweedFS

  •     Star:12.8k
  •     贡献者人数:127
  •     社区活跃度:活跃
  •     许可标准:Apache-2.0 许可证
  •     项目地址:https://github.com/chrislusf/seaweedfs
  •     特点:一个简单且高度可扩展的分布式文件系统。针对小文件进行了优化,适合快速并发地提供相对较小的文件。也可拆分存储超大文件
  •     JAVA案例:https://www.jianshu.com/p/e8bf5aebe790

Ceph

  •     Star:9.6k
  •     贡献者人数:1118
  •     社区活跃度:活跃
  •     许可标准:https://github.com/ceph/ceph/blob/master/COPYING
  •     项目地址:https://github.com/ceph/ceph
  •     文档地址:http://docs.ceph.org.cn/start/intro/
  •     特点:是一个可以按对象/块/文件方式存储的开源分布式文件系统(因为该系统处于试商用阶段,需谨慎引入到生产环境)
  •     JAVA案例:http://docs.ceph.org.cn/radosgw/s3/java/

GlusterFS

  •     Star:3.3k
  •     贡献者人数:237
  •     社区活跃度:活跃
  •     许可标准:https://github.com/gluster/glusterfs/blob/devel/COPYING-GPLV2
  •     项目地址:https://github.com/gluster/glusterfs
  •     文档地址:https://docs.gluster.org/en/latest/
  •     特点:是一种软件定义的分布式存储,可以扩展到数 PB。它为对象、块和文件存储提供接口。是Red Hat旗下的一款开源分布式文件系统
  •     JAVA案例:https://blog.csdn.net/xuchen1994/article/details/78652785    

miniserve

  •     Star:2.6k
  •     贡献者人数:30    
  •      许可标准: MIT License
  •     项目地址:https://github.com/svenstaro/miniserve
  •     部署:下载客户端或者使用Docker部署
  •     UI界面支持:自带UI界面
  •     特点:一个使用 Rust 基于 Actix 框架实现静态文件或文件夹服务器
  •     JAVA案例:https://gitee.com/dajiangnan/miniServerDemo

go-fastdfs

  •     Star:2.8k
  •     贡献者人数:14        
  •     许可标准:Unlicense License
  •     项目地址:https://github.com/sjqzhang/go-fastdfs
  •     文档:https://sjqzhang.github.io/go-fastdfs/install.html#docker
  •     UI界面支持:https://github.com/perfree/go-fastdfs-web
  •     特点:是一个基于http协议的分布式文件系统
  •     部署:使用简单,支持docker部署
  •     SDK支持:命令上传、WEB上传、python版本、golang版本(含断点续传版)、java版本、javascript版本(断点续传版)

OpenStack Swift

  •     Star:2.2k
  •     贡献者人数:311
  •     社区活跃度:活跃
  •     许可标准:GPL-2.0 License
  •     项目地址:https://github.com/openstack/swift
  •     文档地址: https://docs.openstack.org/swift/latest/
  •     特点:是一个分布式对象存储系统,针对多租户和高并发进行了优化。Swift 是备份、Web 和移动内容以及任何其他可以无限增长的非结构化数据的理想选择。
  •     JAVA案例:https://blog.csdn.net/tianxuejin/article/details/7242242

TFS

  •     Star:1.1k
  •     贡献者人数:
  •     社区活跃度:不活跃(停更)
  •     许可标准:GPL-2.0 License
  •     项目地址:https://github.com/alibaba/tfs

         (客户端,为TFS提供了RESTful API)https://github.com/alibaba/nginx-tfs    

  •     特点:是淘宝网开发的分布式文件系统,针对高可用、高性能、低成本的分布式文件系统,是一种基于linux的文件系统,通过冗余、备份和负载均衡技术提供高可靠性和并发访问。TFS 主要是为小于 1MB 的小文件设计的。
  •     JAVA案例:https://blog.csdn.net/yuzx2008/article/details/50682558

MooseFS

  •     Star:1.1k
  •     贡献者人数:12
  •     社区活跃度:活跃
  •     许可标准:GPL-2.0 License
  •     项目地址:https://github.com/moosefs/moosefs
  •     UI界面支持:自带web管理界面
  •     特点:是一个 PB 级开源网络分布式文件系统,它将数据分别存放在多个物理服务器或单独磁盘或分区上,确保一份数据有多个备份副本,具备冗余容错功能    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值