首页 实战 Go实战仿百度云盘-实现企业级分布式云存储系统
收藏

Go实战仿百度云盘 实现企业级分布式云存储系统

构建分布式文件服务系统,实战前沿云端技术,解决企业级云端数据存储需求

Go实战仿百度云盘-实现企业级分布式云存储系统

已完结 难度 中级 时长 13小时30分钟 学习人数 1077 综合评分 9.97

本课程将通过Golang来实现一个支持断点续传和秒传的分布式云存储服务系统。课程中老师将手把手带你从快速构建“云存储”原型系统,到分块上传,到搭建访问阿里云,最后进行系统的微服务化,让你快速掌握架构传输性能和稳定性的优化过程。

xiaomo
讲师

高级软件研发工程师

检测到您还没有关注慕课网服务号,无法接收课程更新通知。请扫描二维码即可绑定
重新观看

践行前沿云端开发技术,快速掌握分布式云存储技术栈

云端场景业务举一反三,满足企业级人才刚性要求

  • 从基本搭建到部署上阿里云OSS

  • 从云实战到微服务化,紧随热门前沿技术

  • 从概念到代码实践,实操驱动,干货满满


  • 手把手教学,初学者无压力

  • 教学逻辑清晰,知识内容层层深入

实战“云存储”系统 ,收获满满技术干货

从原型系统上升到“云+微服务”,掌握基本原理及实现。

  • 文件上传服务

    一个基本的文件上传服务架构说明
    net/http包用法示例
    文件上传接口
    网页端上传文件测试
    文件元信息查询接口
    文件下载接口

  • 分块上传和断点续传

    断点续传原理及系统架构变化
    分块上传的通用实现方法
    使用Redis存储文件分块信息
    Golang文件分块信息初始化
    Golang分块上传逻辑
    Golang文件合并
    测试文件分块上传与断点续传场景

  • 微服务化

    微服务架构系统设计及架构变化
    改造上传接口为微服务Gateway网关接口
    微服务之间的gRPC调用
    基于Docker容器化部署各服务模块
    扩展认识Kubernetes容器编排技术


  • 秒传功能

    秒传原理及系统架构变化
    客户端计算文件hash
    服务端判断/计算文件hash
    用户上传文件秒传测试

  • 阿里云OSS

    OSS与Ceph技术选型分析对比
    OSS操作文档以及API说明
    Golang访问OSS API
    完美结合实际业务操作OSS代码实战
    使用混合云(OSS或Ceph)

Golang升级分布式存储系统,海量文件轻松上传

阿里云OSS部署,实现从私有云到公有云

  • 开源分布式存储系统

    搭建集群,用于存储海量的
    已上传的文件

  • 阿里云OSS

    私有云(Ceph)与公有云
    (OSS)的使用

  • 使用队列实现异步转移存储

    文件上传完成后, 从上传节点转
    移到对象存储服务

学员专享增值服务

问答专区

关于课程的问题都可在问答区随时提问,

讲师会进行集中答疑

源码开放

课程案例代码完全开放给你,你可以根据

所学知识自行修改、优化

适合人群

课程适用于0-3年工作经验的,
对云端开发感兴趣的,
具备一定独立解决问题的在校学生以及码农们。

技术储备要求

熟悉Golang语法基础
有Linux开发基础,至少用过Linux系统
拥有基础的数据库、网络知识

环境参数

  • Go 1.10 以上
  • 操作系统 Linux(Ubuntu18.10) 、Win装Ubuntu
  • IDE Visual Studio Code
  • MySql 5.x(推荐5.6或者5.7)
  • Redis 3.x
  • Docker CE(社区版)18.x

万事俱备 只等你来

  • 梦仍是一样HH

    好评

    作为第一波“抢沙发”大军,学了几章节,再仔细看了下章节大纲,感觉一级棒 ,说说我买课程的原因:1、讲师背景讲这课有说服力;2、希望学到老师在大厂的一些工作经验;3、课程微服务是我目前所需。然后好好聊下:1、难度:感觉适中(有点go基础学起来才更快点,没的话感觉问题也不大);2、场景:类似百度云盘这种业务,而了解到老师有在115网盘,猎豹移动这些公司经历,在北京我去过猎豹移动面试,工作环境真是超Nice;3、技术栈:从一个简易网盘系统,到上公有云,到微服务架构。微服务是必学技能了吧,所以特地来充电。最后我结论是:一门值得推荐的课程,感谢xiaomo老师,希望后面多多和大家分享工作填坑经验。

  • Ans217

    好评

    用Golang工作半年多了,公司的业务方面感觉到了瓶颈,无非还是传统后端开发,并没有走向微服务和云计算领域,感觉没有发挥Golang的优势,我本人感兴趣的以上两方面,那么借助实战仿云盘了解它们的应用场景和业务逻辑的实现,挺好的。vscode开发点赞!!!

  • treehuang

    好评

    老师讲得很好,写代码前会先讲大体的逻辑,最后再进行实战演练,里面提到的很多东西都是值得思考和拓展的干货,物有所值!!

查看全部589条用户评价
提问

  • 0

    请问只有c和go的基础可以学习吗,之前并没有做过实际项目

    亲,您好~完全可以滴。有Go的基础相对好。希望同学对自己高标准,高要求,学习的起点比别人高,遇到问题,再进行查漏补缺,这样的学习方式更快更高效哦。另外,同学学习过程中遇到一些缺失的基础的问题,其实都可以在问答区和讲师进行沟通,也可以通过qq群和志同道合的小伙伴一起交流讨论。当然,也希望同学善于利用互联网,善于利用搜索引擎,自己获取更多的引申知识,这个对以后工作帮助会很大哦。祝同学学有所成,收获技术,斩获高薪,迎娶白富美,走向人生巅峰。哈哈哈O(∩_∩)O哈哈哈~祝您学习愉快~


  • 0

    网关自己实现的么,还是用现成的网关搭建的?

    亲,您好~网关主要是自己动手实现的,主要实现是其中几个重要功能,包括限流和熔断等。这个初衷主要是为了让大家能够深入理解API网关的一些原理,毕竟自己动手来实现比单纯用现成框架的学习效果会更好。当然对比成熟框架来说,我们自己实现的东西会有差距,正因为这样我们可以在边参考学习边动手完善中获得进步,并且也能因此掌握底层一些重要技能点。祝您学习愉快~


  • 5

    请问本门实战课程是使用Go语言的什么框架?beego还是Gin?

    亲,您好~目前在微服务章节之前是没有使用相关框架的,在微服务章节及之后使用Gin及gRPC网络框架进行架构的优化改造。您可以感受到原生编程和使用框架编程之间的差异,以及了解到项目迭代优化的一种开发流程。祝您学习愉快~


  • 1

    为什么使用go语言来开发分布式云存储系统?使用go语言比起java和node等有什么优势呢?

    亲,您好~云存储属于云计算/大数据领域,业内普遍认为k8s、docker等技术的崛起带动了Go,也有人说Go出身名门带起来了k8s、docker, 毕竟它们的底层是go实现的。相对于java, Go语法更简洁开发效率快,同时编译和部署页相对简单;相对于解析型语言nodeJS, Go运行性能更高,在并行及并发场景方面更强大一些。Go作为一名后起之秀,在服务端开发领域得到了越来越多的企业的应用哦。祝您学习愉快~


  • 0

    请问上传文件接口支持每秒上千张1M图片的上传吗

    亲,您好~可以部署多几台服务器来解决。单台服务器做不到,这个也要考虑带宽的问题,1000张1兆图片,那就是每秒要传1G的图片... 如果有什么实施上的问题,可以来课程中找我。祝您学习愉快~


  • 0

    老师,请问这个课是基于ceph或者oss加壳还是底层 存储的?

    亲,您好~第七章是基于ceph上加业务存储逻辑,第八章开始是基于OSS祝您学习愉快~

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

学习咨询

选课、学习遇到问题?

扫码添加指导老师 1V1 帮助你!

添加后老师会第一时间解决你的问题