项目简介
本项目是基于Go语言实现的分布式云存储服务,具备高效、可靠的文件存储与管理能力。采用微服务架构,支持文件上传、下载、分块上传、断点续传、文件元数据管理等功能,集成Ceph分布式存储和阿里云OSS对象存储,保证存储的灵活性与可扩展性。
项目的主要特性和功能
- 分布式架构:基于Micro框架构建,支持服务间的RPC通信和HTTP API调用,实现高可用性和可扩展性。
- 文件管理:支持文件上传、下载、分块上传和断点续传,提供文件秒传功能,避免重复上传相同文件。
- 元数据管理:通过MySQL存储文件的元数据,支持文件的查询、更新和删除操作。
- 存储支持:集成Ceph分布式存储和阿里云OSS对象存储,支持文件存储位置的动态切换。
- 异步任务处理:使用RabbitMQ实现文件异步转移,提升系统处理效率。
- 微服务化:通过API网关、服务注册和RPC通信,实现服务的模块化和解耦。
- CI/CD支持:提供持续集成和持续部署的支持,确保代码的快速迭代和部署。
安装使用步骤
环境准备
- 确保已安装Go语言环境,并正确配置
GOPATH
。 - 安装项目所需的依赖库:
shell go get gopkg.in/amz.v1/aws go get gopkg.in/amz.v1/s3
启动服务
- 单服务启动:
bash cd $GOPATH/filestore-server go run main.go
- 异步任务启动:
bash cd $GOPATH/filestore-server go run service/upload/main.go go run service/transfer/main.go
- 微服务启动:
bash cd $GOPATH/filestore-server ./service/start-all.sh
- 容器化部署:
bash cd $GOPATH/filestore-server ./deploy/start-all.sh
测试功能
使用API工具(如Postman)测试文件上传、下载、分块上传等功能,确保服务正常运行。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】