第五届字节跳动青训营大项目,实现极简版抖音后台
项目说明文档:https://bytedancecampus1.feishu.cn/docx/FwmMd3SV7ojWarxA1edc9DgXnHb
该项目使用Go语言进行开发,Go-zero作为微服务框架
- 服务注册与发现:Consul
- 服务网关:Go-zero生成
- 服务调用:gRPC
- 数据库交互:Gorm
- 服务监控:Prometheus
- 链路追踪:Jaeger
- 配置中心:Nacos
- 对象存储:Minio
基础功能:视频Feed流、视频投稿、用户中心
互动功能:点赞、评论
社交功能:关注、收发消息
项目整体可分为八个模块:
- 网关Gateway:验证请求、鉴权、缓存、数据转换、服务调用、负载均衡
- 视频流Feed:获取视频流
- 发布Publish:视频投稿、发布列表
- 用户User:用户注册、登陆、信息
- 点赞Favorite:点赞、取消点赞、点赞列表
- 评论Comment:发布评论,删除评论
- 关注Follow:关注用户、取消关注、关注列表
- 消息Message:发送消息、接收消息
- 拉取项目到本地
git clone https://github.com/XR-stb/OurTiktok.git
-
配置apps/publish/etc/publish.yaml中Minio--Expose为本机IP
-
编译所有项目代码
make
- 确保已经安装Docker、Docker-Compose,在项目根目录运行
docker-compose up
- 项目会自动部署并运行,访问
127.0.0.1:3000
,点击上方的status-targets,可以看到服务的上线情况
- 使用Nacos作为配置中心,简化配置步骤
- 使用Prometheus作为服务监控✅
- 使用Jaeger作为链路追踪
- 开发后台管理系统(待定)
- Docker部署✅