hertz+kitex重写字节青训营项目

212 阅读2分钟

项目地址

github.com/pot-not-fis…

项目目录

douyin
|-- cmd
	|-- hertz-cmd              包含hertz启动文件
	|-- kitex-cmd              包含kitex启动文件
	|-- mq-cmd                 包括消息队列服务启动文件
|-- idl
	|-- hertz-idl              生成hertz的thrift文件
	|-- kitex-idl              生成kitex的thrift文件
|-- internal
	|-- hertz-server
		|-- handler            api网关的业务代码
		|-- model              hertz的生成代码
		|-- router             hertz的生成代码
	|-- kitex-server
		|-- handler            rpc服务业务代码
	|-- pkg
		|-- dal                数据库操作
		|-- kitex_client       封装了kitex的rpc请求
		|-- kitex_gen          kitex的生成代码
		|-- mw                 中间件
		|-- mq                 消息队列
		|-- parse              解析配置文件
		|-- logger             日志文件操作
|-- deployment
	|-- config                 配置文件
|-- doc
|-- go.mod
|-- go.sum

实现主要功能

互动方向社交方向
基础功能项视频 Feed 流、视频投稿、个人主页
基础功能项说明视频Feed流:支持所有用户刷抖音,视频按投稿时间倒序推出视频投稿:支持登录用户自己拍视频投稿个人主页:支持查看用户基本信息和投稿列表,注册用户流程简化
方向功能项喜欢列表用户评论关系列表
方向功能项说明登录用户可以对视频点赞,在个人主页喜欢Tab下能够查看点赞视频列表支持未登录用户查看视频下的评论列表,登录用户能够发表评论登录用户可以关注其他用户,能够在个人主页查看本人的关注数和粉丝数,查看关注列表和粉丝列表

架构设计

Pasted image 20240218181454.png

微服务拆分

image.png

性能测试

发布评论

  • 平均响应速度为83ms,50个测试用例全部通过
  • Pasted image 20240223121348.png

feed流

  • 平均响应速度为347ms,50个测试用例全部通过 Pasted image 20240223121715.png

查看视频评论

  • 平均响应速度为470ms,50个测试用例全部通过 Pasted image 20240223122001.png

查看用户信息

  • 平均响应速度为33ms,50个测试用例全部通过 Pasted image 20240223122258.png