版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haolipengzhanshen/article/details/89372750
一、功能需求
1.基于golang实现分布式文件上传服务
2.ceph和阿里云oss
3.支持断点续传和秒传功能
4.微服务化和容器部署
二、项目使用到的技术
redis
rabbitmq
docker部署微服务
ceph分布式存储
阿里云oss
三、收获干货
文件分块断点续传/秒传
对象从私有云迁移到阿里云oss的经验
四、项目进度
4.1 系统设计和搭建框架
接口列表
接口描述 |
接口url |
文件上传接口 |
POST /file/upload |
文件查询接口 |
GET /file/query |
文件下载接口 |
GET /file/download |
文件删除接口 |
POST /file/delete |
文件重命名接口 |
POST /file/update |
这块的命令是可以进行优化的,增删改查是对应http restful api的
定义文件元信息的结构fileMeta
4.2 文件上传功能
1.获取上传页面
2.选择待上传文件,form形式上传文件
3.云端接受数据流,写入本地存储
4.云端计算文件的唯一标识(sha1或md5),更新文件元映射表