All Projects → blankjee → file-storage-system

blankjee / file-storage-system

Licence: GPL-3.0 license
一个基于 Go 语言实现的分布式云存储服务,慕课网实战仿百度网盘项目。

Programming Languages

go
31211 projects - #10 most used programming language
HTML
75241 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to file-storage-system

filestore-server
基于golang实现的一种分布式云存储服务
Stars: ✭ 61 (-59.06%)
Mutual labels:  oss, rabbitmq, ceph
Rook
Storage Orchestration for Kubernetes
Stars: ✭ 9,369 (+6187.92%)
Mutual labels:  storage, ceph
Radosgw Admin4j
A Ceph Object Storage Admin SDK / Client Library for Java ✨🍰✨
Stars: ✭ 50 (-66.44%)
Mutual labels:  storage, ceph
xayah
WEB文件管理器
Stars: ✭ 19 (-87.25%)
Mutual labels:  oss, storage
benji
📁 This library is a Scala reactive DSL for object storage (e.g. S3/Amazon, S3/CEPH, Google Cloud Storage).
Stars: ✭ 18 (-87.92%)
Mutual labels:  storage, ceph
Api
SODA API is an open source implementation of SODA API Standards for Data and Storage Management.
Stars: ✭ 795 (+433.56%)
Mutual labels:  storage, ceph
Volplugin
**EXPERIMENTAL** Contiv Storage: Policy backed Clustered Storage (via Ceph or NFS) for Docker
Stars: ✭ 217 (+45.64%)
Mutual labels:  storage, ceph
ceph-cheatsheet
All™ you ever wanted to know about operating a Ceph cluster!
Stars: ✭ 84 (-43.62%)
Mutual labels:  storage, ceph
Uptoc
A static file deployment tool that supports multiple platforms./ 一个支持多家云厂商的静态文件部署工具
Stars: ✭ 159 (+6.71%)
Mutual labels:  oss, storage
Go Fastdfs
go-fastdfs 是一个简单的分布式文件系统(私有云存储),具有无中心、高性能,高可靠,免维护等优点,支持断点续传,分块上传,小文件合并,自动同步,自动修复。Go-fastdfs is a simple distributed file system (private cloud storage), with no center, high performance, high reliability, maintenance free and other advantages, support breakpoint continuation, block upload, small file merge, automatic synchronization, automatic r…
Stars: ✭ 2,923 (+1861.74%)
Mutual labels:  oss, storage
awesome-storage
A curated list of storage open source tools. Backups, redundancy, sharing, distribution, encryption, etc.
Stars: ✭ 324 (+117.45%)
Mutual labels:  storage, ceph
Akubra
Simple solution to keep a independent S3 storages in sync
Stars: ✭ 79 (-46.98%)
Mutual labels:  storage, ceph
Fxshop
基于SpringBoot+SpringCloud微服务的商城项目(demo版 不可用于生产)
Stars: ✭ 82 (-44.97%)
Mutual labels:  oss, rabbitmq
homebrew-ceph-client
Homebrew tap for ceph client libraries
Stars: ✭ 22 (-85.23%)
Mutual labels:  storage, ceph
esop
Cloud-enabled backup and restore tool for Apache Cassandra
Stars: ✭ 40 (-73.15%)
Mutual labels:  storage, ceph
seckill parent
基于springboot+springcloud的高并发和商品秒杀项目,通过redis,rabbitmq等技术实现秒杀的高并发。
Stars: ✭ 59 (-60.4%)
Mutual labels:  rabbitmq
carrierwave-dropbox
Carrierwave storage for Dropbox
Stars: ✭ 67 (-55.03%)
Mutual labels:  storage
EDS
💡 💾 💽 A simple, intuitive and Efficient single cell binary Data Storage format
Stars: ✭ 16 (-89.26%)
Mutual labels:  storage
http-proxy-amqp
an amqp connection pool implementation
Stars: ✭ 17 (-88.59%)
Mutual labels:  rabbitmq
mahapps.com
New web site for MahApps.Metro
Stars: ✭ 16 (-89.26%)
Mutual labels:  oss

file-storage-system

一个基于 Go 语言实现的分布式云存储服务,慕课网实战仿百度网盘项目。(如果觉得有用欢迎Star哦~)

安装库

如下:

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/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

其中如果有提示golang.org/x相关的包无法下载的话,可以参考这篇文章: 国内下载golang.org/x/net

应用启动

  • 在加入rabbitMQ实现文件异步转移之前,启动方式:

    • 启动上传应用程序:
# cd $GOPATH/<你的工程目录>
> cd $GOPATH/filestore-server
> go run main.go
  • 在加入rabbitMQ实现文件异步转移阶段,启动方式(分裂成了两个独立程序):

    • 启动上传应用程序:

      # cd $GOPATH/<你的工程目录>
      > cd $GOPATH/filestore-server
      > go run service/upload/main.go
    • 启动转移应用程序:

      # cd $GOPATH/<你的工程目录>
      > cd $GOPATH/filestore-server
      > go run service/transfer/main.go

进度情况

  • 简单的文件上传服务
  • mysql存储文件元数据
  • 账号系统, 注册/登录/查询用户或文件数据
  • 基于帐号的文件操作接口
  • 文件秒传功能
  • 文件分块上传/断点续传功能
  • 搭建及使用Ceph对象存储集群
  • 使用阿里云OSS对象存储服务
  • 使用RabbitMQ实现异步任务队列
  • 微服务化(API网关, 服务注册, RPC通讯)
  • CI/CD(持续集成)

参考资料

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].