常用分布式文件系统,相对比较热门的有Minio,SeaweedFS,FastDFS,ceph。主要对比一下Minio,SeaweedFS。
什么是SeaweedFS?
SeaweedFS是一种简单的、高度可扩展的分布式文件系统。SeaweedFS是一个非常优秀的由 Go语言开发的分布式存储开源项目。它是用来存储文件的系统,并且与使用的语言无关,使得文件储存变得非常方便,它有两个优势:
- 存储数十亿的文件!
- 查看文件速度快!
SeaweedFS设计用来有效地存储处理小文件,较大文件可以分块拆分为小文件进行上传。所有文件的元数据不存储在Master节点,而是分散存储在Volume(逻辑卷,存储数据的逻辑结构)中,Master节点只保存卷 ID到卷服务器的映射,这样一来,Master节点的查询压力就被分散到volume节点了。这些文件卷服务器各自管理各自的元数据,存储在卷服务器上的所有文件元信息都可以从内存中读取,而无需访问磁盘。所以这样在高并发的情况下减少了主节点的压力和网络通信,同时定位文件也更迅速。其主要应用场景是存储海量的图片信息并且可以快读定位。
SeaweedFS是使用Go语言开发的,Github主页为:https://github.com/chrislusf/seaweedfs,使用SeaweedFS可以通过源码编译,需要提前安装Go环境;也可以使用编译好的二进制包,不依赖Go环境直接执行。Githup地址: https://github.com/chrislusf/seaweedfs
Seaweedfs: 海藻是一个简单和高度可扩展的分布式文件系统,可以快速存储和服务数十亿个文件!
SeaseedFS对象存储具有O(1)磁盘寻道、透明云集成,SeaseedFS Filer支持跨DC主动-主动复制,Kubernetes,POSIX,S3 API,加密,热存储擦除编码,FUSE mount,Hadoop,WebDAV。
SeaweedFS架构: