Attention: We always welcome contributors to the project. Before adding your contribution, please carefully read our Git 分支管理规范和注释规范。
- go 1.18.1
- MySQL(数据库sql文件在config包中)
- 搭建Redis、RabbitMQ环境
- 配置静态资源服务器:安装Nginx、vsftpd、ffmpeg(相关配置文件在config包中)
- 最新版抖音客户端软件
- 下载源码
- 配置SSH、FTP、Redis、静态服务器地址等相关参数
- 启动服务
- 在客户端配置相关地址服务端地址即可
git clone https://github.com/HammerCloth/tiktok.git
基础功能演示
拓展功能演示
设置服务端地址
tiktok
├── /.idea/
├── /config/ 配置文件包
├── /controller/ 控制器包
├── /dao/ 数据库访问
├── /document/ 敏感词词库
├── /images/ 图片引用
├── /middleware/ 中间件
│ ├── ffmpeg/ 视频截图
│ ├── ftp/ 文件服务器
│ ├── jwt/ 鉴权
│ ├── rabbitmq/ 消息队列
│ ├── redis/ 缓存
├── /service/ 服务层
├── /util/ 工具
├── .gitignore
├── /go.mod/
├── LICENSE
├── main.go
├── README.md
└── router.go
视频模块包括视频Feed流获取、视频投稿和获取用户投稿列表。 详情请阅读视频模块设计说明 查阅为该模块的详细设计。
点赞模块包括点赞视频、取消赞视频和获取点赞列表。 详情请阅读点赞模块设计说明 查阅为该模块的详细设计。
关注模块包括关注、取关、获取关注列表、获取粉丝列表四个基本功能。 详情请阅读关注模块的设计说明 查阅为该模块的详细设计。
用户与安全模块包括用户注册、用户登录和用户信息三个部分 详情请阅读用户模块的设计说明 查阅为该模块的详细设计。
评论模块包括发表评论、删除评论和查看评论。 详情阅读评论模块的设计说明 查阅为该模块的详细设计。
通过命令 go tool pprof -http=:6060 "http://localhost:8080/debug/pprof/profile?seconds=120" 生成了两个版本的火焰图,左图为v1.0,右图为v1.2版本,通过对比两张详细火焰图,优化后的相同方法调用时间更短(添加了相应的中间件)
同时包含各个接口的压力测试,详情请阅读压测报告 获得具体的压力数据。
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build ./
框架相关:
服务器相关:
中间件相关:
数据库:
利用dubbogo来完成分布式,貔貅作为网关,Nacos作为注册中心,将五个模块分别布置到不同的服务器上,以rpc调用的方式来调用当前模块依赖其他模块的方法,做到分布式处理与解耦。
队伍创新推荐算法
详情请阅读视频推荐展望
贡献使开源社区成为一个学习、激励和创造的绝佳场所。你所作的任何贡献都是非常感谢的。
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
该项目使用Git进行版本管理。您可以在repository参看当前可用版本。
- 司一雄 邮箱:[email protected]
- 刘宗舟 邮箱:[email protected]
- 蒋宇栋 邮箱:[email protected]
- 李思源 邮箱:[email protected]
- 李林森 邮箱:[email protected]
您也可以查阅仓库为该项目做出贡献的开发者。
该项目签署了MIT 授权许可,详情请参阅 LICENSE.txt