# filestore-server **Repository Path**: BanShan1/filestore-server ## Basic Information - **Project Name**: filestore-server - **Description**: filestore3.0 分布式存储系统 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2021-05-19 - **Last Updated**: 2021-05-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # filestore-server #### 介绍 filestore3.0 分布式云存储系统 #### 软件架构 软件架构说明 ## 微服务架构交互逻辑 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0219/173627_a6252e30_5071190.png "microservice_interact_archi.png") #### 分支和标签说明 - 分支 1. basic 分支:通过原生net/http实现各接口功能 2. gin分支:通过Gin框架来改造http协议通讯相关模块代码 3. pkg分支: 通过go-bindata等工具实现静态资源打包的一个示例 4. micro分支:通过go-micro微服务框架将架构微服务化 5. master分支: 通过k8s、Docker容器化,持续集成部署 - 标签 tag是分支代码某个阶段的快照 #### 安装教程 1. xxxx 2. xxxx 3. xxxx ### 需要手动安装的库 ``` go get github.com/garyburd/redigo/redis go get github.com/go-sql-driver/mysql #go get github.com/garyburd/redigo/redis go get github.com/gomodule/redigo/redis go get github.com/json-iterator/go go get github.com/aliyun/aliyun-oss-go-sdk/oss go get gopkg.in/amz.v1/aws go get gopkg.in/amz.v1/s3 go get github.com/streadway/amqp go get github.com/gin-gonic/gin go get github.com/gin-contrib/cors go get github.com/micro/go-micro> go get github.com/mitchellh/mapstructure go get github.com/jteeuwen/go-bindata/... go get github.com/moxiaomomo/go-bindata-assetfs/... go get github.com/gin-gonic/contrib/static go get github.com/micro/go-micro/cmd go get github.com/micro/go-plugins/registry/kubernetes go get -v github.com/micro/go-plugins/wrapper/breaker/hystrix go get -v github.com/juju/ratelimit go get -v github.com/micro/go-plugins/wrapper/ratelimiter/ratelimit ``` #### 进度说明 * [x] 简单的文件上传服务 * [x] mysql存储文件元数据 * [x] 账号系统, 注册/登录/查询用户或文件数据 * [x] 基于帐号的文件操作接口 * [x] 文件秒传功能 * [x] 文件分块上传/断点续传功能 * [x] 搭建及使用Ceph对象存储集群 * [x] 使用阿里云OSS对象存储服务 * [x] 使用RabbitMQ实现异步任务队列 * [x] 微服务化(API网关, 服务注册, RPC通讯) * [x] CI/CD(持续集成) #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参考资料 - Go入门: [语言之旅](https://tour.go-zh.org/welcome/1) - MySQL: [偶然翻到的一位大牛翻译的使用手册](https://chhy2009.github.io/document/mysql-reference-manual.pdf) - Redis: [命令手册](http://redisdoc.com/) - Ceph: [中文社区](http://ceph.org.cn/) [中文文档](http://docs.ceph.org.cn/) - RabbitMQ: [英文官方](http://www.rabbitmq.com/getstarted.html) [一个中文版文档](http://rabbitmq.mr-ping.com/) - 阿里云OSS: [文档首页](https://help.aliyun.com/product/31815.html?spm=a2c4g.750001.3.1.47287b13LQI3Ah) - gRPC: [官方文档中文版](http://doc.oschina.net/grpc?t=56831) - go-micro微服务框架: [github源码](https://github.com/micro/go-micro) - gin web框架: [github源码](https://github.com/gin-gonic/gin) - k8s: [中文社区]( #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)