项目来源于第三届字节跳动后端训练营,参考往届实现,对照2022.8最新的极简版抖音APP接口文档进行了完善。
- 语言:Go 1.19以上
- HTTP框架:Gin
- ORM: Gorm
- 服务注册与发现:Consul
- 服务间调用:gRPC
- 数据库:MySQL
- 缓存:Redis
- 分布式锁:RedSync
- 配置:Viper
- 日志:Zap
- JWT:jwt-go
- 代码生成:protoc-gen-go
├── cmd 项目启动入口
│ ├── gatewaysvr 网关服务
│ ├── usersvr 用户服务
│ ├── videosvr 视频服务
│ ├── favoritesvr 点赞服务
│ ├── relationsvr 关注服务
│ ├── commentsvr 评论服务
│ ├── messagesvr 聊天服务
│ ├── 具体文件
│ └── config 配置文件
│ └── constant 常量值
│ └── dao 数据库操作
│ └── log 日志配置
│ └── middleware 中间件
│ └── response 响应
│ └── service 服务具体逻辑
│ └── utils 工具类
├── log 日志文件
├── pkg proto文件
├── script 快速启动脚本
├── README.md
cd script
# 权限问题
sudo chmod -R 777 /home/gopath/src/tiktok/cmd
sudo chmod -R 777 /home/gopath/src/tiktok/script
# 编译所有微服务
python build_all.py "" / gatewaysvr...
# 启动/停止所有微服务
python server_all.py start/stop