tiktok-server
tiktok-server copied to clipboard
Douyin project server high-performance distributed optimization version implementation project. 第五届字节跳动青训营后端大作业“超级码力奖(二等奖)”获奖项目
Tiktok Document
抖音项目服务器高性能分布式优化版实现
抖音项目服务端实现
- 开发人员手册
- 答辩 PPT
相关文档
项目结构
cmd- 项目主要的应用程序api- 微服务网关comment- 评论模块实现favorite- 点赞模块实现feed- 视频流模块实现message- 消息模块实现publish- 视频上传模块实现relation- 关系模块实现user- 用户模块实现
configs- 配置文件夹docs- 设计和用户文档idl- idl 文件夹internal- 私有应用程序代码库bound主机信息相关conf配置文件相关lock锁操作相关errren错误枚举middleware中间件相关model通用结构体repo数据库操作封装sources数据源操作封装tracer链路追踪相关utils工具包
kitex_gen- kitex 生成代码pkg- 外部应用程序可以使用的库代码test- 外部测试应用程序和测试数据web- 静态资源目录
编译
api- [build.sh]comment- [build.sh]favorite- [build.sh]feed- [build.sh]message- [build.sh]publish- [build.sh]relation- [build.sh]user- [build.sh]
配置项
- SQL
configs/init.sql - config
configs/config.yml - environment
internal/conf/conf.go - 运行时需要提供的服务
- MySQL
- Redis
- ETCD
- Aliyun-OSS
- FFmpeg
运行
- 运行各微服务下构建脚本后,可执行文件与启动脚本在对应模块下的
output文件夹内
测试
测试脚本在 ./test 目录下,运行前请先跳转到对应路径
- 单模块单元测试
bash ./test.sh <module_name> - 联合单元测试
bash ./test.sh all - 单模块基准测试
bash ./bench.sh <module_name> - 联合基准测试
bash ./bench.sh all