项目简介
本项目是基于Go语言构建的抖音模拟服务系统,为抖音部分核心功能提供后端服务模拟,包含用户、视频、评论和点赞等功能。借助gRPC通信机制实现用户注册登录、视频发布获取、点赞评论等功能,采用Redis缓存和MySQL数据库存储查询数据,利用腾讯云对象存储服务存储视频文件。
项目的主要特性和功能
- 用户服务:包含注册、登录和获取用户信息功能。
- 视频服务:支持视频发布、列表获取和用户视频流获取。
- 评论服务:可进行评论发布和列表获取。
- 点赞服务:支持视频点赞和用户点赞列表获取。
- 分布式唯一ID生成:使用Sonyflake库生成全局唯一ID。
- 接口限流:运用令牌桶算法防止高并发请求导致系统崩溃。
- JWT认证:用于用户身份验证与授权。
- gRPC通信:实现服务间高效通信。
- 数据库和缓存:采用MySQL数据库和Redis缓存存储查询数据。
- 对象存储:使用腾讯云对象存储服务存储视频文件。
安装使用步骤
- 环境准备:确保已安装Go语言环境,配置好MySQL数据库、Redis数据库和腾讯云对象存储服务。
- 代码下载:从项目源码仓库下载项目源码文件。
- 依赖安装:执行
go mod tidy
下载项目依赖。 - 配置修改:修改项目配置文件,填写数据库、Redis和腾讯云对象存储服务的配置信息,将抖声ip改成运行主机的内网ip:8080。
- 服务启动:分别运行
services
包下的五个服务的main.go
文件启动服务。 - 功能测试:使用测试用例(https://www.apifox.cn/apidoc/shared-37482a3f-1ede-4edc-bcdc-aa8a47389b24 )进行功能测试,验证服务功能是否正常。
注意事项
- 评论模块未完成redis持久化,评论后无法及时刷新评论列表。
- 发布视频大小无法超过4M。
- app在鸿蒙系统运行时视频发布功能可能失效。
- 目前密码未加md5加密,可按需添加。
- 若要运行腾讯云服务,需自行准备密钥。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】