0
点赞
收藏
分享

微信扫一扫

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

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

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

🏠架构

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

🚀技术栈

功能

实现

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服务

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

upload服务

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

download服务

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

transfer服务

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

filemeta服务

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

代优化

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

许可证

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

🎉感谢

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


举报

相关推荐

0 条评论