littlebot
Published on 2025-04-03 / 0 Visits
0

【源码】基于Go语言的抖音模拟服务系统

项目简介

本项目是基于Go语言构建的抖音模拟服务系统,为抖音部分核心功能提供后端服务模拟,包含用户、视频、评论和点赞等功能。借助gRPC通信机制实现用户注册登录、视频发布获取、点赞评论等功能,采用Redis缓存和MySQL数据库存储查询数据,利用腾讯云对象存储服务存储视频文件。

项目的主要特性和功能

  1. 用户服务:包含注册、登录和获取用户信息功能。
  2. 视频服务:支持视频发布、列表获取和用户视频流获取。
  3. 评论服务:可进行评论发布和列表获取。
  4. 点赞服务:支持视频点赞和用户点赞列表获取。
  5. 分布式唯一ID生成:使用Sonyflake库生成全局唯一ID。
  6. 接口限流:运用令牌桶算法防止高并发请求导致系统崩溃。
  7. JWT认证:用于用户身份验证与授权。
  8. gRPC通信:实现服务间高效通信。
  9. 数据库和缓存:采用MySQL数据库和Redis缓存存储查询数据。
  10. 对象存储:使用腾讯云对象存储服务存储视频文件。

安装使用步骤

  1. 环境准备:确保已安装Go语言环境,配置好MySQL数据库、Redis数据库和腾讯云对象存储服务。
  2. 代码下载:从项目源码仓库下载项目源码文件。
  3. 依赖安装:执行go mod tidy下载项目依赖。
  4. 配置修改:修改项目配置文件,填写数据库、Redis和腾讯云对象存储服务的配置信息,将抖声ip改成运行主机的内网ip:8080。
  5. 服务启动:分别运行services包下的五个服务的main.go文件启动服务。
  6. 功能测试:使用测试用例(https://www.apifox.cn/apidoc/shared-37482a3f-1ede-4edc-bcdc-aa8a47389b24 )进行功能测试,验证服务功能是否正常。

注意事项

  • 评论模块未完成redis持久化,评论后无法及时刷新评论列表。
  • 发布视频大小无法超过4M。
  • app在鸿蒙系统运行时视频发布功能可能失效。
  • 目前密码未加md5加密,可按需添加。
  • 若要运行腾讯云服务,需自行准备密钥。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】