Golang仿百度云盘项目-介绍

这是muke上的一个仿百度网盘云存储系统项目,计划每天复现一点点。
Github地址 https://github.com/jwcen/FileStorageDisk

进度情况

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

Getting Started

准备

  • Linux(Ubuntu)/Windows10
  • VS Code
  • MySQL/Redis/RabbitMQ(同步 to 异步)
  • Postman, Chrome
  • 云概念(公有云、私有云)

要求基础

  • Golang基础语法、开发包,有项目开发经验更佳
  • 对文件传输和存储场景有兴趣

课程安排

  • 2-6 构建一个基础版的文件上传服务
  • 7-11 架构逐步升级,搭建一个完整优化的分布式服务

目标

  • 基于 Golang 实现分布式文件上传服务
  • 重点结合开源存储(Ceph)及公有云(阿里OSS)支持断点续传及秒传功能
  • 微服务化及容器化部署

⭐收获

工具

  • Redis/RabbitMQ
  • Docker/Kubernets(k8s)
  • 分布式对象存储(Ceph)
  • 阿里云OSS对象存储服务

干货

  • 文件分块断点上传 & 秒传
  • 对象从Ceph迁移到阿里云OSS的经验

Original: https://www.cnblogs.com/cenjw/p/go-filestore-disk-system.html
Author: micromatrix
Title: Golang仿百度云盘项目-介绍

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/712538/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 【cartographer_ros】四:发布和订阅里程计odom信息

    上一节介绍了激光雷达Scan传感数据的订阅和发布。 本节会介绍里程计Odom数据的发布和订阅。里程计在cartographer中主要用于前端位置预估和后端优化。 官方文档:http…

    技术杂谈 2023年7月24日
    090
  • 根据坐标点画曲线

    https://github.com/YouXianMing 核心代码 控制点的简单计算 将绘制的曲线添加到UIScrollView上 posted @2017-09-01 14:…

    技术杂谈 2023年6月1日
    0116
  • fatal error C1859 意外的预编译头错误,只需重新运行编译器(转)

    微软的建议 要解决此问题,请使用下列方法之一。 http://support.microsoft.com/kb/976656/zh-cn 方法 1 禁用 /analyze编译器选项…

    技术杂谈 2023年5月30日
    086
  • Tomcat性能优化方案

    你使用过tomcat的话,简单的说就是”内存溢出”. 通常情况下,这种问题出现在实际的生产环境中.产生这种问题的原因是tomcat使用较少的内存给进程,通过…

    技术杂谈 2023年7月11日
    052
  • FFMPEG 配置选项详细说明

    转自:https://blog.csdn.net/z2066411585/article/details/81239446 用法:配置[选项]选项:[描述后括号中的默认值] 帮助选…

    技术杂谈 2023年6月1日
    075
  • Yara安装使用教程

    一、安装 官方文档(含python调用yara):https://yara.readthedocs.io/en/v4.1.1/gettingstarted.html 开源yara规…

    技术杂谈 2023年5月31日
    090
  • idea中隐藏.idea文件夹和.iml文件

    idea中的.idea文件夹和.iml是平常几乎不使用的文件,在创建父子工程或者聚合工程时反而会对我们操作产生干扰,所以,一般情况下,我们都将其隐藏掉,步骤如下: 操作前: 具体操…

    技术杂谈 2023年6月1日
    0101
  • HTTP和Servlet快速入门

    依赖:创建web项目,导入Servlet依赖坐标 Tomcat内置Servlet,若运行时使用该依赖则会导致冲突使用 <scope>provided</scope…

    技术杂谈 2023年7月24日
    065
  • PurpleAir空气质量数据采集

    PurpleAir空气质量数据采集 -*- coding: utf-8 -*- import time, datetime, calendar import urllib, req…

    技术杂谈 2023年5月31日
    0105
  • WordPress中安装插件需要ftp怎么办?

    在初次搭建wordpress成功后,老季想安装wordpress中有趣的插件时缺发现需要ftp服务,同样的升级插件的话也需要输入ftp的用户名密码。其实不用真的搭建了一个ftp服务…

    技术杂谈 2023年6月1日
    095
  • 故障review的一些总结

    故障review的目的 归纳出现故障产生的原因 检查故障的产生是否具有普遍性,并尽可能的保证同类问题不在出现, 回顾故障的处理流程,并检查处理过程中所存在的问题。并确定此类问题的处…

    技术杂谈 2023年6月1日
    071
  • 用ColorMatrix將Bitmap轉成灰度图

    在Android中,若想將整張圖片轉成灰階效果其實有更簡便的方式,只要透過ColorMatrix類別的setSaturation函式將飽和度設為0即可。(您也可以試試從0~1之間的…

    技术杂谈 2023年5月31日
    085
  • OGRE中Any 类型的实现

    【 OGRE中 Any类型的实现】 OGRE中实现了一个class Any,使用Any 可以在上下文中传递任意类型的数据。其本质实现原理就是通过指针。 Any 只包含一个成员变量,…

    技术杂谈 2023年5月31日
    083
  • MYSQL如何在创建表时添加判断条件

    大家好,我是小皓。 一、背景 今天在博主练习MYS创建表操作时遇到一个语法报错,就想着来和大家分享一下MYSQL如何在创建表时添加判断条件: 上网一查才发现,原来是自己在代码中添加…

    技术杂谈 2023年7月11日
    0100
  • 如何搭建android源代码repo仓库

    .版本: v0.3作者:河东西望日期:2022-7-5. 如果你的开发是基于AOSP源码来建仓,那么搭建repo服务器和部署自己的repo仓库就是非常必要的工作了。 现实中很多公司…

    技术杂谈 2023年6月21日
    083
  • 关于方法的几点思考

    1.概念陈述 成法,即为已经存在的方法,他是经过时间的洗礼、先哲们千锤百炼而流传下来的具有解决已知问题成效的方法. 改法,即为在已经存在的方法之上加以修改,使之成为具备解决普遍问题…

    技术杂谈 2023年5月31日
    084
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球