是什么?

想设计一个渐进式的文件管理服务系统。

可以从最简单的单机,到分布式都可以快速部署搞定。

对外都是统一的 API。

为什么?

想要一个简单的文件服务,发现没有可用的。

如果后续拓展,动起来又比较。

希望从零实现一个渐进式的文件管理服务,保证单机=》分布式都是简单可用的。

类似于 minio,但是不止于 minio

有何特色?

渐进式

方便部署

单机+分布式 用户体验一致

安全加密

用户权限

多端资源共享

http 服务,支持多种语言客户端

兼容性

兼容 s3 api

兼容 HDFS api

兼容 POSIX 标准

项目命名

pfs: progressive file server

应用架构

说明

所有的实现都是接口插件式。

最开始可以实现单机+内存最简单的实现,也就是 demo

逐步改进,对外的接口具有一致性。

无状态

所有的设计要求无状态

元数据节点不互相依赖 全部水平可以拓展

数据节点也是如此 后期分片高可用

数据分布式一致性

架构图

PFS-CONSOLE
元数据管理
PFS-DATA
文件数据
控台管理
Actor
HTTP
客户端
mysql
redis
mongodb
...
本地 File
S3
集中式数据库
分布式分片
一致性协议

文件服务系列

文件存储服务系统(File Storage Service System)-00-文件服务器是什么?为什么需要?

文件存储服务系统(File Storage Service System)-01-常见的文件协议介绍

文件系统 FTP Ubuntu 安装入门介绍

文件存储服务系统(File Storage Service System)-02-SFTP 协议介绍

分布式文件服务系统(Distributed File System, DFS)-00-分布式文件服务系统是什么?

分布式存储系统-01-minio 入门介绍

分布式存储系统-02-开源的分布式文件系统 Fastdfs 安装入门介绍

分布式存储系统-03-ceph 一个可扩展的分布式存储系统介绍

分布式存储系统-04-GlusterFS 是一个基于对象的开源分布式文件系统,适用于云存储和媒体流等场景

分布式存储系统-05-Lustre 是一个高性能的分布式文件系统,主要用于大型超级计算机集群

分布式存储系统-06-MooseFS 是一个开源的分布式文件系统,设计用于提供高可靠性和扩展性

分布式存储系统-07-OpenAFS 是 Andrew File System 的开源实现,是一个分布式网络文件系统

分布式存储系统-08-OrangeFS 是 PVFS 的下一代版本,是一个面向高性能计算的开源并行文件系统

#

参考资料