1. 文档
videohub
  • 文档
    • README.md
  • 用户
    • 注册
      POST
    • 登录
      POST
    • 用户信息
      GET
    • 上传头像
      POST
  • 视频
    • 发布列表
      GET
    • 投稿
      POST
    • 视频详细
      GET
    • 热门排行榜
      GET
    • 条件搜索视频
      POST
    • 语义相似度搜索视频
      POST
    • 删除视频
      DELETE
    • 增加视频点赞数
      POST
    • 增加视频观看数
      POST
  • 互动
    • 点赞操作
      POST
    • 点赞列表
      GET
    • 评论
      POST
    • 评论列表
      GET
    • 删除评论
      DELETE
  • 社交
    • 聊天(私聊)
    • 聊天(私聊) Copy
    • 聊天(聊天室)
    • 聊天(聊天室) Copy
    • 创建聊天室
      POST
    • 聊天室列表
      GET
    • 添加好友
      POST
    • 好友列表
      GET
    • 好友申请列表
      GET
  • 数据模型
    • 视频
    • 用户
    • 评论
    • 社交对象
    • 时间戳
    • 响应状态
  1. 文档

README.md

整体架构分为用户、视频、互动和社交四个核心服务。通过 Gateway 统一处理请求,服务间通过 Kitex RPC 框架通信,使用 etcd 进行服务发现。
在视频服务方面,搜索视频有两个接口,一个是由elasticsearch实现的条件匹配搜索,另一个尝试实现了基于 OpenAI 的语义搜索功能,通过向量检索技术对视频内容进行深度理解和匹配。系统会自动提取视频元数据(标题、描述、标签等),生成向量表示并存储在向量数据库中,实现相似内容推荐,摘要总结,视频上传采用异步处理机制,通过 Kafka 消息队列处理视频封面生成、元数据提取等任务。为提升访问性能,系统使用 Redis 实现多级缓存策略,包括热门视频缓存、用户令牌缓存等,并通过 Redis Sorted Set 实现实时热门排行榜。
社交功能采用 WebSocket 实现实时聊天,支持私聊和聊天室两种模式,消息持久化存储确保可靠性。用户认证使用 JWT 实现,并通过 Redis 进行分布式会话管理。
数据存储方面,使用 MySQL 作为主数据库,通过 GORM 进行对象关系映射;使用 Elasticsearch 实现全文搜索;使用 Redis 进行缓存和实时数据处理。整个系统通过 Docker Compose 进行容器化部署,便于环境管理和扩展。
在性能优化方面,我们实现了分服务的 Redis DB 隔离(用户服务 DB0、视频服务 DB1、社交服务 DB2),避免数据冲突。
修改于 2025-05-08 04:55:04
下一页
注册
Built with