一、GoFastDFS概述
GoFastDFS是一个基于HTTP协议的分布式文件存储系统,采用Go语言开发,具有轻量级、高性能、易部署等特点。它专为互联网应用设计,特别适合图片、视频、文档等中小文件的存储与分发场景。
它基于大道至简的设计理念,一切从简设计,使得它的运维及扩展变得更加简单,它具有高性能、高可靠、无中心、免维护等优点。
核心特性
-
极简架构:单二进制文件部署,无外部依赖
-
高性能:采用内存映射技术,小文件存储效率极高
-
高可用:支持集群部署,自动同步副本
-
断点续传:支持大文件分片上传和断点续传
-
兼容S3:提供兼容Amazon S3的API接口
-
智能缓存:内置智能缓存机制,加速热点文件访问
二、架构设计
1. 系统组成
-
Tracker:调度节点,负责负载均衡和调度
-
Storage:存储节点,实际存储文件数据
-
Client:客户端,通过HTTP API与系统交互
2. 数据分布策略
-
文件分片:大文件自动分片存储
-
副本机制:默认3副本存储(可配置)
-
一致性哈希:优化数据分布和节点扩容
三、go-fastdfs的搭建
1.下载
下载地址:
linux可以直接用命令行下载并提供执行权限
mkdir /home/go-fastdfs
wget -P /home/go-fastdfs https://github.com/sjqzhang/go-fastdfs/releases/download/v1.4.5/fileserver
或者在其他win电脑上下载好,采用ftp工具传输到你指定的文件夹内,下载地址:
- go-fastdfs服务地址:https://github.com/sjqzhang/go-fastdfs/releases
- go-fastdfs后台管理端地址:https://github.com/perfree/go-fastdfs-web
第一步,打开go-fastdfs的服务地址,滑到下面下载Windows版本的服务
第二步,打开go-fastdfs后台管理端地址点击这里
下载zip格式的文件