Go实战仿百度云盘 实现企业级分布式云存储系统【已完结 MK323】

  • 第1章 课程介绍【征途*扬帆起航】

    导学将会告诉同学学习本门课程的必要性,以及收获那些技能,学习要求,学习技巧。课程介绍部分概括介绍文件传输涉及的应用场景(比如网盘),技术原理,以及传输服务架构设计等,以及学习本课程的一些前置知识点。 课程的章节流程大致可分为: (1)实现一个简易版云盘系统; (2)加入秒传和分块上传等功能; (3)接入开源存储…

    • 1-1 导学试看
    • 1-2 课程介绍试看
  • 第2章 实战-“云存储”系统原型 【实现一个超精简版云盘】

    代码实战之前的架构说明,开发环境准备等; 接口逻辑的实现,包括上传文件,下载文件,查询以及更改文件元信息等功能; 结合Postman进行接口测试。

    • 2-1 “云存储”系统原型之简单文件上传服务架构说明
    • 2-2 编码实战:实现上传接口
    • 2-3 编码实战:保存文件元信息
    • 2-4 编码实战:实现单个文件查询信息接口
    • 2-5 编码实战:实现多个文件查询信息接口
    • 2-6 编码实战:实现文件下载接口
    • 2-7 编码实战:实现文件修改接口+小结试看
  • 第3章 “云存储”系统之基于MySQL实现的文件数据库【持久化云文件信息】

    系统架构升级说明; MySQL基于读写分离的主从原理及实战部署; MySQL表字段设计及基于海量数据的水平分表; Go管理MySQL, 实现文件metaData的持久化。

    • 3-1 MySQL基础知识
    • 3-2 MySQL主从数据同步演示
    • 3-3 文件表的设计及创建
    • 3-4 编码实战:持久化元数据到文件表
    • 3-5 编码实战:从文件表中获取元数据
    • 3-6 Docker入门基础文档
    • 3-7 Ubuntu中通过Docker安装配置MySQL主从节点
    • 3-8 本章小结
  • 第4章 “云存储”系统之基于用户系统实现的资源隔离及鉴权 【账号和应用收入息息相关】

    加入用户系统后架构升级说明; 快速实现用户注册/登录/信息查询功能; 快速实现用户资源隔离存储及安全鉴权功能。

    • 4-1 帐号系统介绍与用户表设计
    • 4-2 编码实战:实现用户注册接口
    • 4-3 编码实战:实现用户登录接口
    • 4-4 编码实战:实现用户信息查询接口
    • 4-5 接口梳理小结
    • 4-6 编码实战:快速实现访问鉴权接口+小结
    • 4-7 关于静态资源访问404的问题【补漏】
  • 第5章 “云存储”系统之基于Hash计算实现秒传【可大幅提升拥有海量文件的云盘性能】

    Hash算法的对比分析; 快速提升用户体验的文件秒传原理剖析; 秒传场景的唯一文件表与用户文件表的差异性; 秒传接口的快速实现。

    • 5-1 Hash算法对比及秒传原理
    • 5-2 用户文件表设计与创建
    • 5-3 编码实战:升级改造上传接口
    • 5-4 编码实战:基于用户查询文件Hash信息
    • 5-5 编码实战:实现秒传功能接口+小结
  • 第6章 “云存储”系统之基于Redis实现分块上传及断点续传【可大幅提升传输速度】

    分块上传与断点续传原理; 分块上传通用接口设计; Redis快速缓存文件分块信息; Go实现可重用的Redis连接池; 分块上传通用接口逻辑实现。

    • 6-1 分块上传与断点续传原理
    • 6-2 编码实战:Go实现Redis连接池(存储分块信息)
    • 6-3 编码实战:实现初始化分块上传接口
    • 6-4 编码实战:实现分块上传接口
    • 6-5 编码实战:实现分块合并接口
    • 6-6 分块上传场景测试+小结
    • 6-7 文件断点下载原理
    • 6-8 编码实战:分块上传接口升级(支持断点续传)
    • 6-9 编码实战:实现取消分块上传接口
  • 第7章 “云存储”系统之基于Ceph实现私有云存储服务 【自主管理集群,技术可控】

    开源分布式存储框架之Ceph介绍; 引入Ceph后的服务架构升级说明; Docker快速部署Ceph测试集群; 兼容AWS S3接口的详细介绍; Go实现Ceph的对象上传下载功能。

    • 7-1 Ceph是什么
    • 7-2 Ceph集群介绍及兼容亚马逊S3接口详解
    • 7-3 编码实战:Go访问管理Ceph集群
    • 7-4 编码实战:Go实现Ceph的文件上传下载+小结
    • 7-5 Ubuntu下通过Docker快速搭建Ceph测试集群
    • 7-6 Centos7下Docker部署Ceph集群(nautilus最新版)
  • 第8章 “云存储”系统之基于阿里云OSS实现海量数据上云 【低运维成本,大数据存储无忧】

    OSS特性介绍,快速了解应用场景; OSS开发文档学习说明,快速上手入门; OSS控制台管理,集开发运维管理于一身; Go实现OSS上传/下载文件,开启海量数据上云之旅。

    • 8-1 阿里云对象存储OSS简介
    • 8-2 阿里云对象存储OSS特点
    • 8-3 阿里云对象存储OSS专业术语
    • 8-4 阿里云对象存储OSS控制台管理
    • 8-5 编码实战:OSS上传文件
    • 8-6 编码实战:OSS下载文件
    • 8-7 编码实战:OSS对象生命周期管理等常用功能
    • 8-8 阿里云OSS本章小结
  • 第9章 “云存储”系统之基于RabbitMQ实现异步存储 【上传与转移解耦,提高稳定性】

    详细讲解文件上传完成后, 通过RabbitMQ队列服务,基于异步机制从上传节点转移到对象存储服务。

    • 9-1 Ubuntu下通过Docker安装RabbitMQ
    • 9-2 关于任务的同步与异步
    • 9-3 RabbitMQ简介
    • 9-4 RabbitMQ工作原理和转发模式
    • 9-5 Docker安装RabbitMQ及UI管理
    • 9-6 编码实战: 实现异步转移的MQ生产者
    • 9-7 编码实战: 实现异步转移的MQ消费者
    • 9-8 编码实战: 异步转移文件测试+小结
  • 第10章 “云存储”系统之架构微服务化【全面优化系统架构及性能】

    新增轻量级Gin web框架及改造演示; 新增gRPC网络通讯框架; 新增API网关, 实现限流及熔断等功能; 新增服务注册功能,实现服务自发现和负载均衡;

    • 10-1 基于Docker部署服务注册发现中心consul集群
    • 10-2 微服务基础概念与原理
    • 10-3 云存储系统之微服务架构(1)
    • 10-4 云存储系统之微服务架构(2)
    • 10-5 Web框架Gin基础介绍
    • 10-6 编码实战: 基于Gin改造用户service(1)
    • 10-7 编码实战: 基于Gin改造用户service(2)
    • 10-8 gRPC与Protobuf基础原理
    • 10-9 RPC框架go-micro基础介绍
    • 10-10 编码实战: 改造账号系统service
    • 10-11 编码实战: 改造api网关service
    • 10-12 编码实战: 改造文件上传service
    • 10-13 综合测试演示+小结
  • 第11章 “云存储”系统之k8s&Docker容器化实战【容器化:应用上云部署的基石】

    本章带你实现应用的docker容器化,支持跨平台部署,是持续集成与部署的坚实基础。

    • 11-1 Ubuntu18下通过kubeadm安装k8s(v1.14.1)集群
    • 11-2 Ubuntu18下安装k8s(v1.14.1)可视化管理工具
    • 11-3 Docker与Docker-Compose基础概念
    • 11-4 基于容器的微服务反向代理利器Traefik
    • 11-5 基于Docker-compose与Traefik1.x的容器化部署演示
    • 11-6 Kubernetes基础原理
    • 11-7 基于Kubernetes的容器化部署演示
    • 11-8 Kubernetes(1.14+)部署traefik2.0
  • 第12章 “云存储”系统之持续集成部署【快速部署更新,可视化管理】

    开发完成并构建容器镜像后, 如何基于git+jenkins+k8s完善持续部署(CI/CD)发布流程, 从而实现一个比较完整的高可用性的云存储系统。

    • 12-1 ubuntu下离线安装harbor1.6
    • 12-2 持续构建之基础概念
    • 12-3 基于gitlab+jenkins+harbor的自动化部署配置演示
  • 第13章 课程总结

    对每一章内容进行总结,并给出课后联系内容,加强对课程的掌握程度。

    • 13-1 课程总结之章节重点及技能树温习

发表评论