2019-06-12 20:34:42 +08:00
|
|
|
|
|
|
|
|
|
# [中文](README.md) [English](README-en.md)
|
2019-01-24 11:43:42 +08:00
|
|
|
|
|
2019-09-09 14:20:19 +08:00
|
|
|
|
## 愿景:为用户提供最简单、可靠、高效的分布式文件系统。
|
|
|
|
|
|
2019-01-30 15:18:03 +08:00
|
|
|
|
![logo](doc/logo.png)
|
2019-01-28 19:22:11 +08:00
|
|
|
|
|
2019-02-11 17:46:40 +08:00
|
|
|
|
|
2019-06-12 20:34:42 +08:00
|
|
|
|
# go-fastdfs是一个基于http协议的分布式文件系统,它基于大道至简的设计理念,一切从简设计,使得它的运维及扩展变得更加简单,它具有高性能、高可靠、无中心、免维护等优点。
|
|
|
|
|
|
|
|
|
|
### 大家担心的是这么简单的文件系统,靠不靠谱,可不可以用于生产环境?答案是肯定的,正因为简单所以高效,因为简单所以稳定。如果你担心功能,那就跑单元测试,如果担心性能,那就跑压力测试,项目都自带了,跑一跑更放心^_^。
|
|
|
|
|
|
2019-08-29 10:41:17 +08:00
|
|
|
|
注意:使用前请认真阅读[使用文档](https://sjqzhang.github.io/go-fastdfs/#character)。
|
2019-06-12 20:34:42 +08:00
|
|
|
|
|
|
|
|
|
- 支持curl命令上传
|
|
|
|
|
- 支持浏览器上传
|
|
|
|
|
- 支持HTTP下载
|
|
|
|
|
- 支持多机自动同步
|
|
|
|
|
- 支持断点下载
|
|
|
|
|
- 支持配置自动生成
|
|
|
|
|
- 支持小文件自动合并(减少inode占用)
|
|
|
|
|
- 支持秒传
|
|
|
|
|
- 支持跨域访问
|
2019-09-30 11:41:10 +08:00
|
|
|
|
- 支持一键迁移(搬迁)
|
|
|
|
|
- 支持异地备份(特别是小文件1M以下)
|
2019-06-12 20:34:42 +08:00
|
|
|
|
- 支持并行体验
|
|
|
|
|
- 支持断点续传([tus](https://tus.io/))
|
|
|
|
|
- 支持docker部署
|
|
|
|
|
- 支持自监控告警
|
|
|
|
|
- 支持图片缩放
|
|
|
|
|
- 支持google认证码
|
|
|
|
|
- 支持自定义认证
|
|
|
|
|
- 支持集群文件信息查看
|
|
|
|
|
- 使用通用HTTP协议
|
|
|
|
|
- 无需专用客户端(支持wget,curl等工具)
|
|
|
|
|
- 类fastdfs
|
|
|
|
|
- 高性能 (使用leveldb作为kv库)
|
|
|
|
|
- 高可靠(设计极其简单,使用成熟组件)
|
|
|
|
|
- 无中心设计(所有节点都可以同时读写)
|
|
|
|
|
|
|
|
|
|
# 优点
|
|
|
|
|
|
|
|
|
|
- 无依赖(单一文件)
|
|
|
|
|
- 自动同步
|
|
|
|
|
- 失败自动修复
|
|
|
|
|
- 按天分目录方便维护
|
|
|
|
|
- 支持不同的场景
|
|
|
|
|
- 文件自动去重
|
|
|
|
|
- 支持目录自定义
|
|
|
|
|
- 支持保留原文件名
|
|
|
|
|
- 支持自动生成唯一文件名
|
|
|
|
|
- 支持浏览器上传
|
|
|
|
|
- 支持查看集群文件信息
|
|
|
|
|
- 支持集群监控邮件告警
|
|
|
|
|
- 支持小文件自动合并(减少inode占用)
|
|
|
|
|
- 支持秒传
|
|
|
|
|
- 支持图片缩放
|
|
|
|
|
- 支持google认证码
|
|
|
|
|
- 支持自定义认证
|
|
|
|
|
- 支持跨域访问
|
|
|
|
|
- 极低资源开销
|
|
|
|
|
- 支持断点续传([tus](https://tus.io/))
|
|
|
|
|
- 支持docker部署
|
|
|
|
|
- 支持一键迁移(从其他系统文件系统迁移过来)
|
2019-09-30 11:41:10 +08:00
|
|
|
|
- 支持异地备份(特别是小文件)
|
2019-06-12 20:34:42 +08:00
|
|
|
|
- 支持并行体验(与现有的文件系统并行体验,确认OK再一键迁移)
|
|
|
|
|
- 支持token下载 token=md5(file_md5+timestamp)
|
|
|
|
|
- 运维简单,只有一个角色(不像fastdfs有三个角色Tracker Server,Storage Server,Client),配置自动生成
|
|
|
|
|
- 每个节点对等(简化运维)
|
|
|
|
|
- 所有节点都可以同时读写
|
|
|
|
|
|
2020-01-21 11:11:51 +08:00
|
|
|
|
|
2020-01-21 11:14:48 +08:00
|
|
|
|
# 极速体验,只需一分钟
|
2020-01-21 11:11:51 +08:00
|
|
|
|
|
2020-01-21 11:14:48 +08:00
|
|
|
|
### 启动服务器(已编译,[下载](https://github.com/sjqzhang/fastdfs/releases))
|
|
|
|
|
./fileserver #注意:线上使用请使用项目的[control](https://github.com/sjqzhang/go-fastdfs/blob/master/control)文件进行管理,直接运行,关闭终端会退出。
|
2020-01-21 11:11:51 +08:00
|
|
|
|
|
2020-01-21 11:14:48 +08:00
|
|
|
|
|
|
|
|
|
### 命令上传
|
|
|
|
|
curl -F file=@http-index-fs http://10.1.xx.60:8080/group1/upload
|
|
|
|
|
|
|
|
|
|
### WEB上传(浏览器打开)
|
2020-01-21 11:11:51 +08:00
|
|
|
|
http://yourserver ip:8080 注意:不要使用127.0.0.1上传
|
|
|
|
|
|
2019-08-29 10:41:17 +08:00
|
|
|
|
### [使用文档](https://sjqzhang.github.io/go-fastdfs/#character)
|
2019-06-12 20:34:42 +08:00
|
|
|
|
|
2020-03-02 11:00:18 +08:00
|
|
|
|
### [视频教程](https://www.bilibili.com/video/av92526484)
|
|
|
|
|
|