Gopan-基于go-zero实现慕课网实战仿百度网盘项目

Gopan-基于go-zero实现慕课网实战仿百度网盘项目

项目地址:https://github.com/liuxianloveqiqi/Gopan

🏠架构

image-20230728025613573

🚀技术栈

功能实现
http框架gozero
rpc框架gozero
orm框架gorm
数据库Innodb-cluster,redis-cluster
对象存储腾讯云cos,minio集群
服务发现与配置中心etcd
链路追踪jaeger
服务监控prometheus,grafana
消息队列kafka
日志搜集filebeat,go-stash,elasticsearch,kibana
网关traefik
部署Docker,docer-compose

📣项目功能简介

user服务

  • 外接腾讯云oss服务,手机号一键登录/注册
  • jwttoken鉴权
  • 自己实现GitHub OAuth进行第三方登录
  • valiator包进行校验,并且加上中文翻译器

upload服务

  • 可以选择本地或者minio存储或者腾讯云COS进行存储
  • kafka异步处理Mysql存储文件元信息
  • 使用批量消息聚合(batcher)提升kafka性能
  • 秒传
  • 分块上传&&断点续传

download服务

  • 腾讯云COS下载,自动提供大文件分块下载功能
  • minio集群下载
  • 流式返回文件给客户的

transfer服务

  • 多个 goroutine中来并发消费数据,再存入mysql

filemeta服务

  • 根据sha1查询file meta
  • 客户的获取文件sha1
  • 用户重命名文件
  • 用户查询所有文件
  • 用户文件的移动操作

代优化

  • 从docker-compose部署迁移到k8s集群部署
  • 使用GitHub Action/gitlab jenkins 进行 CI/CD
  • 分布式引入,mapreduce思想

许可证

gopanMIT 许可证下开源,请在遵循 MIT 开源证书 规则的前提下使用

🎉感谢

创造不易,如果觉得对大家有帮助,希望点点Star支持一下🤗🤗🤗

参考

慕课网实战项目:Go实战仿百度云盘 实现企业级分布式云存储系统

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值