这门课在解决什么工作场景

很多开发者想跳槽到后端高并发或分布式存储领域,但简历上往往只有 CRUD 业务的空泛描述,缺乏有说服力的项目。这门课程的核心价值,在于还原一个企业级分布式云存储系统的构建过程。它不只教你写代码,而是带你从原型出发,逐步解决真实生产环境中必然遇到的问题:文件如何高效上传下载、元数据如何持久化、主从同步如何处理、用户资源如何隔离与鉴权。

这种从单体到分布式、从简单到复杂的演进逻辑,正是面试官考察候选人系统设计能力时的典型场景。学习完这套内容,你能够理解并阐述分布式存储中的一致性、可用性和分区容错性权衡,这在面对云存储、对象存储相关岗位时,是极具竞争力的实战经验。

适合什么基础以及如何上手

本课程要求具备 Go 语言基础,熟悉基本的语法结构和标准库使用,同时最好对 HTTP 协议和 MySQL 有初步了解。如果你还是 Go 初学者,建议先补足基础语法再看;如果你已有经验但缺乏分布式项目,这门课非常适合填补空白。

建议的学习顺序如下:首先完整观看第 2 章的「系统原型」部分,用最短的时间跑通一个简单的文件上传、查询、下载闭环,建立对整体架构的直观认知。接着进入第 3 章,重点理解 Docker 环境下 MySQL 主从部署的原理及配置,这是分布式存储的基石。随后在第 4 章深入用户系统与鉴权机制,学习如何通过接口设计实现多租户的资源隔离。最后结合导学部分的介绍,梳理整个系统的并发性能瓶颈在哪里,从而形成完整的知识闭环。

学完能独立做什么及资料配合

完成全部章节后,你将能够独立设计并实现一个具备基本能力的分布式文件存储服务。具体而言,你可以手写出支持高并发的文件读写接口,设计合理的数据库表结构以持久化海量元数据,并搭建基于主从复制的数据库集群以提升数据可靠性。此外,你还能实现基于 Token 或 Session 的用户认证体系,确保不同用户之间的数据隔离与安全访问。

资料包中包含了课程视频及配套文档。视频部分请按章节顺序播放,不要跳看,因为每个编码实战环节都隐含了前一步骤的设计逻辑。对于第 3 章的 Docker 安装配置,建议对照文档在自己的本地或云服务器环境实际操作,避免只看不练。练习时,尝试修改部分接口逻辑,例如增加文件分片上传或优化查询索引,这能进一步巩固你对系统细节的掌控能力。

课程目录

第1章 课程介绍【征途*扬帆起航】 试看 2 节 | 20分钟 1-1 导学 (08:26).mp4
 1-2 课程介绍 (11:04).mp4
 第2章 实战-“云存储”系统原型 【实现一个超精简版云盘】 8 节 | 75分钟 2-1 “云存储”系统原型之简单文件上传服务架构说明 (12:17).mp4
 2-2 编码实战:实现上传接口 (08:06).mp4
 2-3 编码实战:保存文件元信息 (11:08).mp4
 2-4 编码实战:实现单个文件查询信息接口 (08:40).mp4
 2-5 编码实战:实现多个文件查询信息接口 (09:37).mp4
 2-6 编码实战:实现文件下载接口 (08:05).mp4
 2-7 编码实战:实现文件修改接口+小结 (16:30).mp4
 2-8 对网盘类服务来说,影响其上传/下载服务并发性能的因素有哪些?.mp4
 第3章 “云存储”系统之基于MySQL实现的文件数据库【持久化云文件信息】 8 节 | 55分钟 3-1 Docker入门基础文档.mp4
 3-2 MySQL基础知识 (08:58).mp4
 3-3 Ubuntu中通过Docker安装配置MySQL主从节点.mp4
 3-4 MySQL主从数据同步演示 (08:55).mp4
 3-5 文件表的设计及创建 (06:34).mp4
 3-6 编码实战:持久化元数据到文件表 (11:59).mp4
 3-7 编码实战:从文件表中获取元数据 (15:26).mp4
 3-8 本章小结 (02:21).mp4
 第4章 “云存储”系统之基于用户系统实现的资源隔离及鉴权 【账号和应用收入息息相关】 8 节 | 66分钟 4-1 帐号系统介绍与用户表设计 (05:46).mp4
 4-2 编码实战:实现用户注册接口 (12:27).mp4
 4-3 编码实战:实现用户登录接口 (18:46).mp4
 4-4 编码实战:实现用户信息查询接口 (14:57).mp4
 4-5 接口梳理小结 (04:11).mp4
 4-6 哪些方式适合安全鉴权.mp4
 4-7 编码实战:快速实现访问鉴权接口+小结 (09:11).mp4
 4-8 关于静态资源访问404的问题【补漏】.mp4
 第5章 “云存储”系统之基于Hash计算实现秒传【可大幅提升拥有海量文件的云盘性能】 6 节 | 53分钟 5-1 Hash算法对比及秒传原理 (10:49).mp4
 5-2 秒传功能原理是什么?.mp4
 5-3 用户文件表设计与创建 (03:37).mp4
 5-4 编码实战:升级改造上传接口 (10:13).mp4
 5-5 编码实战:基于用户查询文件Hash信息 (09:24).mp4
 5-6 编码实战:实现秒传功能接口+小结 (18:17).mp4
 第6章 “云存储”系统之基于Redis实现分块上传及断点续传【可大幅提升传输速度】 9 节 | 92分钟 6-1 分块上传与断点续传原理 (07:41).mp4
 6-2 编码实战:Go实现Redis连接池(存储分块信息) (12:56).mp4
 6-3 编码实战:实现初始化分块上传接口 (11:02).mp4
 6-4 编码实战:实现分块上传接口 (08:19).mp4
 6-5 编码实战:实现分块合并接口 (12:32).mp4
 6-6 分块上传场景测试+小结 (13:17).mp4
 6-7 文件断点下载原理.mp4
 6-8 编码实战:分块上传接口升级(支持断点续传) (16:16).mp4
 6-9 编码实战:实现取消分块上传接口 (09:02).mp4
 第7章 “云存储”系统之基于Ceph实现私有云存储服务 【自主管理集群,技术可控】 6 节 | 47分钟 7-1 Ceph是什么 (09:38).mp4
 7-2 Ceph集群介绍及兼容亚马逊S3接口详解 (09:13).mp4
 7-3 编码实战:Go访问管理Ceph集群 (17:54).mp4
 7-4 编码实战:Go实现Ceph的文件上传下载+小结 (09:54).mp4
 7-5 Ubuntu下通过Docker快速搭建Ceph测试集群.mp4
 7-6 Centos7下Docker部署Ceph集群(nautilus最新版).mp4
 第8章 “云存储”系统之基于阿里云OSS实现海量数据上云 【低运维成本,大数据存储无忧】 9 节 | 51分钟 8-1 阿里云对象存储OSS简介 (03:53).mp4
 8-2 私有云存储和公有云存储的区别.mp4
 8-3 阿里云对象存储OSS特点 (06:53).mp4
 8-4 阿里云对象存储OSS专业术语 (03:58).mp4
 8-5 阿里云对象存储OSS控制台管理 (05:37).mp4
 8-6 编码实战:OSS上传文件 (13:10).mp4
 8-7 编码实战:OSS下载文件 (07:29).mp4
 8-8 编码实战:OSS对象生命周期管理等常用功能 (06:44).mp4
 8-9 阿里云OSS本章小结 (02:18).mp4
 第9章 “云存储”系统之基于RabbitMQ实现异步存储 【上传与转移解耦,提高稳定性】 8 节 | 68分钟 9-1 Ubuntu下通过Docker安装RabbitMQ.mp4
 9-2 关于任务的同步与异步 (06:11).mp4
 9-3 RabbitMQ简介 (06:34).mp4
 9-4 RabbitMQ工作原理和转发模式 (11:09).mp4
 9-5 Docker安装RabbitMQ及UI管理 (09:55).mp4
 9-6 编码实战: 实现异步转移的MQ生产者 (11:16).mp4
 9-7 编码实战: 实现异步转移的MQ消费者 (17:44).mp4
 9-8 编码实战: 异步转移文件测试+小结 (04:59).mp4
 第10章 “云存储”系统之架构微服务化【全面优化系统架构及性能】 

14 节 | 120分钟 10-1 基于Docker部署服务注册发现中心consul集群.mp4
 10-2 微服务基础概念与原理 (14:46).mp4
 10-3 云存储系统之微服务架构(1) (06:45).mp4
 10-4 云存储系统之微服务架构(2) (09:17).mp4
 10-5 Web框架Gin基础介绍 (08:43).mp4
 10-6 编码实战: 基于Gin改造用户service(1) (11:56).mp4
 10-7 编码实战: 基于Gin改造用户service(2) (05:53).mp4
 10-8 gRPC与Protobuf基础原理 (08:27).mp4
 10-9 RPC框架go-micro基础介绍 (08:21).mp4
 10-10 【开放性讨论】大家推荐哪些微服务框架/组件.mp4
 10-

11 编码实战: 改造账号系统service (12:18).mp4
 10-

12 编码实战: 改造api网关service (15:09).mp4
 10-

13 编码实战: 改造文件上传service (11:20).mp4
 10-

14 综合测试演示+小结 (06:43).mp4
 第11章 “云存储”系统之k8s&Docker容器化实战【容器化:应用上云部署的基石】 8 节 | 45分钟 11-1 Ubuntu18下通过kubeadm安装k8s(v1.14.1)集群.mp4
 11-2 Ubuntu18下安装k8s(v1.14.1)可视化管理工具.mp4
 11-3 Docker与Docker-Compose基础概念 (06:47).mp4
 11-4 基于容器的微服务反向代理利器Traefik (07:05).mp4
 11-5 基于Docker-compose与Traefik1.x的容器化部署演示 (08:46).mp4
 11-6 Kubernetes基础原理 (10:36).mp4
 11-7 基于Kubernetes的容器化部署演示 (11:34).mp4
 11-8 Kubernetes(1.14+)部署traefik2.0.mp4
 第12章 “云存储”系统之持续集成部署【快速部署更新,可视化管理】 3 节 | 21分钟 12-1 ubuntu下离线安装harbor1.6.mp4
 12-2 持续构建之基础概念 (08:51).mp4
 12-3 基于gitlab+jenkins+harbor的自动化部署配置演示 (11:53).mp4
 第13章 课程总结 1 节 | 12分钟 13-1 课程总结之章节重点及技能树温习 (11:09).mp4