Skip to content

Douyin project server high-performance distributed optimization version implementation project. 第五届字节跳动青训营后端大作业“超级码力奖(二等奖)”获奖项目

License

Notifications You must be signed in to change notification settings

bytedance-casual/tiktok-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tiktok-server

Tiktok Document

抖音项目服务器高性能分布式优化版实现

license release

抖音项目服务端实现

相关文档

项目结构

目录结构参考 golang-standards/project-layout

  • 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 - 静态资源目录

编译

配置项

  • 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

贡献者名单

About

Douyin project server high-performance distributed optimization version implementation project. 第五届字节跳动青训营后端大作业“超级码力奖(二等奖)”获奖项目

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published