Skip to content

hyglgithub/mini-bilibili

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BiliLike 视频平台 · 后端服务

🎯 项目类型:在线视频平台后端系统
🧠 技术栈:Spring Boot · MyBatis-Plus · MySQL · Redis · RabbitMQ · Guava

📌 项目简介

BiliLike 是一个类 Bilibili 的视频平台后端项目,支持用户上传、播放视频,具备内容审核、个性化推荐、视频热度排行等核心功能。

⚙️ 使用技术

分类 技术组件
后端框架 Spring Boot、MyBatis-Plus
数据存储 MySQL、Redis、MinIO
消息中间件 RabbitMQ
多媒体处理 FFmpeg、KKFileView、阿里云内容安全服务
工具库 Guava、RoaringBitmap

✨ 核心功能与技术亮点

  1. 大文件上传支持

    • 实现秒传、断点续传与分片上传机制
    • 基于哈希校验确保文件完整性与去重处理
  2. 视频存储与处理一体化方案

    • 使用 MinIO 管理视频对象存储
    • 利用 FFmpeg 进行格式转码、封面截图
    • 接入 KKFileView 实现预览服务
    • 结合阿里云内容安全 API 实现违规内容自动识别
  3. 用户行为数据高效存储与压缩

    • 利用 RoaringBitmap 压缩用户行为标识
    • 结合 Guava 本地缓存 + MySQL 持久化提升读写性能
  4. 关注系统与推送机制设计

    • 采用推模式将新视频通过 RabbitMQ 批量推送给关注用户
    • 利用 Redis ZSet 构建每个用户的“收件箱”
    • 使用游标优化分页推送性能,提升大规模消息分发效率
  5. 个性化推荐系统

    • 基于用户标签概率动态调整推荐内容
    • 引入随机因子避免推荐重复,提升内容多样性
  6. 视频热度排行榜

    • 利用热度衰减公式 + 小根堆计算热门视频
    • 实现热度排行动态调整,增强用户关注时效性

About

BiliLike 是一个类 Bilibili 的视频平台后端项目,支持用户上传、播放视频,具备内容审核、个性化推荐、视频热度排行等核心功能。

Resources

License

Stars

3 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors