产品概述
FileCenter 是一款完全自主研发的分布式文件存储系统,采用 Go 语言编写,基于 Master-Storage 两层架构,支持海量文件的上传、下载、存储和管理。系统提供高可用性、高可靠性、水平扩展、大文件分片存储、数据完整性校验等企业级特性。
FileCenter 定位于云存储服务、媒体资源管理、大数据备份、微服务文件服务等场景,提供比传统单节点文件存储更高的可用性和可扩展性,同时保证优秀的读写性能和数据安全性。
技术架构
+-------------------+ +-------------------+
| Client App | | Client CLI |
+--------+----------+ +--------+----------+
| |
| REST API (外部) |
+-----------+--------------+
|
+----------v-----------+
| Master Node |
| (元数据管理) |
+---+----+----+----+---+
| | |
| 内部REST API |
+---------+ | +---------+
| | |
+---v---+ +-----v--+ +-----v--+
|Storage| |Storage | |Storage |
|Node 1 | |Node 2 | |Node 3 |
+-------+ +--------+ +--------+
核心特性
🏗️ Master-Storage 架构
清晰的两层架构,Master 负责元数据管理和集群协调,Storage 负责实际数据存储,职责分离,易于扩展。
📦 自动分片存储
大文件自动切分为固定大小分片(默认 64MB),支持 PB 级别超大文件存储,分片级别的读写并行提升性能。
🔄 多副本冗余
可配置副本因子(默认 3 副本),副本分散在不同节点,单节点故障不影响数据可用性,自动修复机制。
🚀 水平扩展
支持动态添加/移除存储节点,在线扩缩容对用户透明,理论支持 10~1000 个节点,总容量 PB 级别。
🔒 数据完整性
SHA256 校验和机制,上传/下载时校验,定期数据巡检,损坏数据自动检测与修复,传输过程加密可选。
💔 断点续传
上传支持断点续传,下载支持标准 HTTP Range,大文件传输中断后无需重传整个文件,节省带宽和时间。
❤️ 心跳检测
Storage 节点定期向 Master 上报心跳,超时自动标记为离线,触发副本修复,保证集群健康状态。
⚖️ 负载均衡
基于节点可用空间分配分片,避免单点过热,定期再平衡,优化集群空间利用率,提升整体性能。
🔧 RESTful API
简洁易用的 REST API,支持文件上传/下载/删除/列表/信息查询,节点管理,系统状态监控,易于集成。
📊 监控指标
内置系统状态查询,节点列表查询,容量统计,分片统计,方便运维监控和告警。
⚙️ 灵活配置
INI 格式配置文件,支持命令行参数覆盖,环境变量覆盖,配置热加载,适配不同部署环境。
🛡️ 安全认证
节点间可配置 Token 认证,传输支持 TLS 加密,可选双向认证,保障数据传输安全。
API 文档
客户端 API(Master 节点提供)
| 接口 | 方法 | 说明 |
|---|---|---|
/api/v1/files/upload | POST | 上传文件(支持断点续传) |
/api/v1/files/download | GET | 下载文件(支持 HTTP Range 断点续传) |
/api/v1/files/info | GET | 获取文件信息 |
/api/v1/files | GET | 列出文件(支持分页) |
/api/v1/files/delete | DELETE | 删除文件 |
/api/v1/nodes | GET | 列出存储节点 |
/api/v1/status | GET | 系统状态 |
上传文件示例
下载文件示例
快速开始
1. 配置文件
2. 启动服务
3. 使用命令行客户端
配置说明
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| node.type | string | - | 节点类型:master 或 storage |
| node.id | string | - | 节点唯一标识 |
| node.listen_host | string | 0.0.0.0 | 监听地址 |
| node.listen_port | int | 8000/9000 | 监听端口 |
| node.data_dir | string | ./data | 数据存储目录 |
| master.replication_factor | int | 3 | 副本因子 |
| master.chunk_size | int | 67108864 | 分片大小(字节,默认 64MB) |
| master.heartbeat_timeout | int | 30 | 心跳超时时间(秒) |
| storage.max_capacity | int | 1TB | 最大存储容量 |
| storage.report_interval | int | 10 | 心跳上报间隔(秒) |
| storage.master_endpoint | string | - | Master 节点地址 |
立即下载
选择合适的版本开始使用 FileCenter
📦 下载完整包版本: v1.0.0 | 平台: Windows amd64
包含: master.exe (主节点) + storage.exe (存储节点) + fc.exe (客户端) + 配置文件示例 + 部署文档