抖音项目分析(3)| 青训营

62 阅读1分钟

接口

根据项目介绍,可分为基础接口,互动接口,社交接口,具体api如下

基础接口

/douyin/user/register
/douyin/user/login
/douyin/user
/douyin/feed
/douyin/publish/action
/douyin/publish/list

互动接口

/douyin/favour/action
/douyin/favour/list
/douyin/comment/action
/douyin/comment/list

社交接口

/douyin/relation/action
/douyin/relation/list
/douyin/relation/follower/list
/douyin/relation/friend/list

具体实现

为了方便协作编程,将三种接口分成了五个服务,分别是用户服务,视频服务,社交服务,点赞服务,评论服务。

评论服务

提供视频的评论功能。
需要实现:

  1. 评论信息表。包括id,用户id,视频id,发布时间,评论内容。
  2. 在评论时,需要调用视频服务提供的接口,修改视频表中的评论数。

用到的组件和框架

  1. MySQL:1024服务端,go MySQL客户端和驱动,GORM框架。
  2. Redis:1024服务端,go Redis客户端。
  3. RPC框架kitex,thrift协议。并编写thrift IDL文件生成客户端服务端接口,并实现。
  4. HTTP服务框架Hertz。
  5. 对象存储服务TOS。
  6. 如果优化需要用到的中间件,消息队列rocketMQ,服务发现组件etcd。

具体架构图

抖音架构图.png

获得的能力

  1. 主流框架使用能力。
  2. 团队协作能力。
  3. go语言熟练程度。
  4. 微服务架构理解力。