抖音男团-简易版

目前仅实现了一个简易版的抖音,一些基本功能能够正常进行使用,但也有一些未完成的功能。

配置

  • mysql8 -> sql文件保存在config中。
  • ffmpeg -> 参考
https://zhuanlan.zhihu.com/p/118362010
  • nginx -> 配置文件保存在 config 中。
  • vsftpd
https://blog.csdn.net/qq_51212018/article/details/110350950

注:该demo目前还没有引入redis,rabbitMQ等中间件,仅仅是借助MySQL实现的。

功能

  • 用户登录功能 -> 用户的token已经使用了MD5进行加密
  • 用户注册功能
  • 用户信息功能(Favorite_count 和 Follower_count的更新还没有完成)
  • 视频流功能 (按照官方的要求返回了对应的参数,但是视频中的用户信息没有正确的获取到,后期需要完善此功能,时间参数暂时没有考虑进去)
  • 视频投稿功能
  • 点赞
  • 点赞列表
  • 评论功能
  • 评论列表功能
  • 关注功能
  • 关注列表
  • 粉丝列表
  • 朋友列表
  • 消息系统
  • 消息列表

更新

2023/2/12

目前已实现Redis+RabbitMQ的点赞功能。

  • Redis的作用如下:

    • 点赞信息的缓存(视频有哪些人点赞,用户点赞了哪些视频)

    • 用户点赞列表的快速查询

  • RabbitMQ的作用如下:

    • 实现点赞和取消点赞的Redis和MySQL数据库的一致性

    • 防止高并发的点赞操作导致的MySQL数据库的击穿

其中为了在查询Redis中,为了防止数据库不存在的数据或多用户同时向数据库发送相同请求,使用了双重校验锁。

后续

  • 将部分数据存入redis

能够存入Redis的数据有,点赞、评论、关注。因为前端会将得到的Feed信息送入缓存,因此不需要非常及时的同步。

  • 微服务架构

该简易项目都是在用一个服务上实现的,因此后期需要考虑如何将一个服务进行拆分并负载均衡。