第1章 课程介绍
导学将会告诉同窗学习本门课程的必要性,以及收获那些技能,学习要求,学习技巧。课程介绍部分归纳介绍文件传输涉及的应用场景(好比网盘),技术原理,以及传输服务架构设计等,以及学习本课程的一些前置知识点。 课程的章节流程大体可分为: (1)实现一个简易版云盘系统; (2)加入秒传和分块上传等功能; (3)接入开源存储...git
第2章 实战-“云存储”系统原型 【实现一个超精简版云盘】
代码实战以前的架构说明,开发环境准备等; 接口逻辑的实现,包括上传文件,下载文件,查询以及更改文件元信息等功能; 结合Postman进行接口测试。web
第3章 “云存储”系统之基于MySQL实现的文件数据库【持久化云文件信息】
系统架构升级说明; MySQL基于读写分离的主从原理及实战部署; MySQL表字段设计及基于海量数据的水平分表; Go管理MySQL, 实现文件metaData的持久化。算法
第4章 “云存储”系统之基于用户系统实现的资源隔离及鉴权 【帐号和应用收入息息相关】
加入用户系统后架构升级说明; 快速实现用户注册/登陆/信息查询功能; 快速实现用户资源隔离存储及安全鉴权功能。docker
第5章 “云存储”系统之基于Hash计算实现文件秒传
Hash算法的对比分析; 快速提高用户体验的文件秒传原理剖析; 秒传场景的惟一文件表与用户文件表的差别性; 秒传接口的快速实现。数据库
第6章 “云存储”系统之基于Redis实现分块上传及断点续传
分块上传与断点续传原理; 分块上传通用接口设计; Redis快速缓存文件分块信息; Go实现可重用的Redis链接池; 分块上传通用接口逻辑实现。缓存
第7章 “云存储”系统之基于Ceph实现私有云存储服务
开源分布式存储框架之Ceph介绍; 引入Ceph后的服务架构升级说明; Docker快速部署Ceph测试集群; 兼容AWS S3接口的详细介绍; Go实现Ceph的对象上传下载功能。安全
第8章 “云存储”系统之基于阿里云OSS实现海量数据上云
OSS特性介绍,快速了解应用场景; OSS开发文档学习说明,快速上手入门; OSS控制台管理,集开发运维管理于一身; Go实现OSS上传/下载文件,开启海量数据上云之旅。网络
第9章 “云存储”系统之基于队列实现的异步转移存储
详细讲解文件上传完成后, 经过RabbitMQ队列服务,基于异步机制从上传节点转移到对象存储服务。架构
第10章 “云存储”系统之架构微服务化及docker容器化
新增轻量级Gin web框架及改造演示; 新增gRPC网络通信框架; 新增API网关, 实现限流及熔断等功能; 新增服务注册功能,实现服务自发现和负载均衡; Docker容器化部署应用。负载均衡
第11章 “云存储”系统之持续集成与部署和服务监控
开发完成并构建容器镜像后, 如何基于git+jenkins+k8s完善持续部署(CI/CD)发布流程, 以及如何完善日志收集和监控功能, 从而实现一个比较完整的高可用性的云存储系统。
第12章 课程总结
对每一章内容进行总结,并给出课后联系内容,增强对课程的掌握程度