Migrated repository
Go to file
FulltimeLove 833b32d509 paic when file stat error
当 outFile.Stat()  出现 错误时, fi会被赋值为nil , 导致后面使用fi.Size()时 引起panic
2020-03-20 12:30:43 +08:00
doc add dfsclient 2020-03-13 10:24:49 +08:00
docker-compose add docker-compose 文件 2020-03-06 12:30:43 +08:00
nginx nginx big cluster 2019-10-14 19:45:26 +08:00
static support big file sence and path 2019-12-04 15:58:04 +08:00
vendor when enable_distinct_file is false not calc file checksum 2019-10-10 14:42:09 +08:00
benchmark.py add golang benchmark 2019-10-09 16:59:21 +08:00
build.sh modify control build.sh 2019-12-30 21:46:41 +08:00
control modify control build.sh 2019-12-30 21:46:41 +08:00
Dockerfile remove docker version 2019-02-22 11:38:40 +08:00
fileserver_test.go bugfix testing 2020-03-19 11:29:33 +08:00
fileserver.go paic when file stat error 2020-03-20 12:30:43 +08:00
gen_file.py add golang benchmark 2019-10-09 16:59:21 +08:00
gofastdfs.service gofastdfs.service modify 2019-04-01 11:16:11 +08:00
LICENSE Initial commit 2017-09-09 17:20:25 +09:00
README-en.md add vision 2019-09-09 14:20:19 +08:00
README.md add dfsclient 2020-03-13 10:24:49 +08:00

中文 English

愿景:为用户提供最简单、可靠、高效的分布式文件系统。

logo

go-fastdfs是一个基于http协议的分布式文件系统它基于大道至简的设计理念一切从简设计使得它的运维及扩展变得更加简单它具有高性能、高可靠、无中心、免维护等优点。

大家担心的是这么简单的文件系统,靠不靠谱,可不可以用于生产环境?答案是肯定的,正因为简单所以高效,因为简单所以稳定。如果你担心功能,那就跑单元测试,如果担心性能,那就跑压力测试,项目都自带了,跑一跑更放心^_^。

注意:使用前请认真阅读使用文档视频教程

  • 支持curl命令上传
  • 支持浏览器上传
  • 支持HTTP下载
  • 支持多机自动同步
  • 支持断点下载
  • 支持配置自动生成
  • 支持小文件自动合并(减少inode占用)
  • 支持秒传
  • 支持跨域访问
  • 支持一键迁移(搬迁)
  • 支持异地备份特别是小文件1M以下
  • 支持并行体验
  • 支持断点续传(tus)
  • 支持docker部署
  • 支持自监控告警
  • 支持图片缩放
  • 支持google认证码
  • 支持自定义认证
  • 支持集群文件信息查看
  • 使用通用HTTP协议
  • 无需专用客户端支持wget,curl等工具
  • 类fastdfs
  • 高性能 使用leveldb作为kv库
  • 高可靠(设计极其简单,使用成熟组件)
  • 无中心设计(所有节点都可以同时读写)

优点

  • 无依赖(单一文件)
  • 自动同步
  • 失败自动修复
  • 按天分目录方便维护
  • 支持不同的场景
  • 文件自动去重
  • 支持目录自定义
  • 支持保留原文件名
  • 支持自动生成唯一文件名
  • 支持浏览器上传
  • 支持查看集群文件信息
  • 支持集群监控邮件告警
  • 支持小文件自动合并(减少inode占用)
  • 支持秒传
  • 支持图片缩放
  • 支持google认证码
  • 支持自定义认证
  • 支持跨域访问
  • 极低资源开销
  • 支持断点续传(tus)
  • 支持docker部署
  • 支持一键迁移(从其他系统文件系统迁移过来)
  • 支持异地备份(特别是小文件)
  • 支持并行体验与现有的文件系统并行体验确认OK再一键迁移
  • 支持token下载 token=md5(file_md5+timestamp)
  • 运维简单只有一个角色不像fastdfs有三个角色Tracker Server,Storage Server,Client配置自动生成
  • 每个节点对等(简化运维)
  • 所有节点都可以同时读写

极速体验,只需一分钟

启动服务器(已编译,下载

./fileserver #注意:线上使用请使用项目的control文件进行管理,直接运行,关闭终端会退出。

命令上传

curl -F file=@http-index-fs http://10.1.xx.60:8080/group1/upload

WEB上传浏览器打开

http://yourserver ip:8080 注意不要使用127.0.0.1上传

使用文档

视频教程

如果你觉得本项目不错,请点击项目顶部的 star 按钮关注本项目

QQ交流群964274270(go-fastdfs技术交流群)

同时要说明的是该群是一个学习交流群如果是程序相关问题请直接提交issues不接受邮件求助、微信求助和QQ私信求助