【视频观看系统】- 技术与架构选型


✅ 项目技术选型方案

🧱 一、整体架构风格

项目层级 技术选型 说明
架构风格 微服务架构(Spring Cloud) 独立部署、易扩展、易维护
服务通信 HTTP(RestTemplate 或 Feign)+ RocketMQ 同步调用 + 异步事件
注册中心 Nacos 服务注册、发现、配置中心
配置中心 Nacos 配置管理 多服务统一配置
API网关 Spring Cloud Gateway 路由转发、权限验证、限流
服务监控 Spring Boot Admin + Actuator 实时查看服务状态

📦 二、后端技术栈

模块 技术 说明
微服务框架 Spring Boot + Spring Cloud Alibaba 轻量、成熟、社区活跃
网关层 Spring Cloud Gateway 支持路由、限流、鉴权
用户鉴权 Spring Security + JWT Token 鉴权,接口保护
消息队列 RocketMQ 弹幕异步处理、事件解耦
异步任务 RocketMQ + @Async 用户行为、通知、日志处理
数据访问 MyBatis-Plus 简洁、高效的数据操作
数据库 MySQL 主体业务数据持久化
缓存 Redis 登录态、弹幕热数据、限流
分布式锁 Redisson 防止重复上传/重复弹幕等问题
对象存储 MinIO(可替代阿里OSS) 视频、封面图等大文件上传
视频转码 FFmpeg(本地调用) mp4/HLS 格式转码
文件上传 Multipart 分片上传 + 秒传机制(可选) 大文件上传优化方案
异常处理 Spring AOP + 全局异常捕获 返回标准 JSON 错误响应
日志系统 Logback + ELK(可选) 可扩展做日志分析
单元测试 JUnit5 + Mockito 各模块测试覆盖

💻 三、前端技术选型

项目部分 技术 说明
技术栈 原生 HTML + CSS + JavaScript 简洁直接,适合后端主导开发
视频播放 Video.js 强大、免费、兼容性好
弹幕支持 WebSocket + Canvas 或 DOM 渲染 实现实时弹幕飘屏
弹幕发送 原生 AJAX / WebSocket 发送接口 与后端集成
页面构建 可使用简单模板或静态 HTML 文件 可结合 Thymeleaf 做 SSR(可选)

🧰 四、开发与部署工具

工具 用途 推荐
Git + GitHub / Gitea 版本控制 必备
Maven 构建管理 Spring Boot 默认
Docker 容器化部署 支持微服务拆分部署
Docker Compose / K8s 服务编排 本地推荐 Compose,上线推荐 K8s
Postman / Swagger 接口测试 使用 Swagger 自动生成文档
RabbitMQ Console / RocketMQ Console 消息调试 查看消息队列状态

📺 五、服务模块拆分建议(按微服务分层)

微服务 描述
user-service 用户注册、登录、认证(JWT)
video-service 视频上传、转码、播放、信息管理
comment-service 评论、点赞、收藏等用户互动
danmaku-service 弹幕接收、过滤、推送(RocketMQ + WebSocket)
file-service 文件上传接口、MinIO 存储对接
admin-service 后台管理(视频审核、用户管理)
search-service(可选) 视频搜索、标签索引(可结合 ElasticSearch)
gateway-service 请求入口、路由、鉴权、限流
notification-service(可选) 系统通知、用户举报处理、异步发消息

📌 说明

  • 你可以先开发单体版验证功能逻辑,之后再拆服务。
  • 所有服务都可以部署为独立的 Spring Boot 应用。
  • 前期部署环境可以本地运行 + Docker Compose 管理 Redis、MinIO、RocketMQ。
  • 弹幕服务是后期的一个关键亮点,用 WebSocket + RocketMQ 解耦,支撑高并发弹幕实时推送。

相关推荐
这个DBA有点耶5 小时前
时序数据库深度对比:2026 年主流 TSDB 架构演进与选型指南
数据库·sql·云原生·架构·运维开发·时序数据库
音乐宝贝家6 小时前
吉他桶型技术解析:GA桶 vs D桶 vs OM桶——入门弹唱选哪个
新媒体运营·音视频·业界资讯·媒体·材质·零售·内容运营
luoyayun3616 小时前
Qt + FFmpeg 实战:获取音视频文件基础属性、流信息和元数据
qt·ffmpeg·音视频·元数据·获取音视频文件属性
Rudon滨海渔村6 小时前
ffmpeg裁剪视频黑屏、不准时等处理方式 - ffmpeg基本操作
ffmpeg·音视频
卖芒果的潇洒农民6 小时前
Work FW-HW架构
架构
caimouse6 小时前
Reactos 第 5 章 进程与线程 — 5.1 概述
c语言·windows·架构
该昵称用户已存在6 小时前
能源数字化架构手记:MyEMS 数据建模引擎的模块化拆分与接口治理
架构·能源
Whoami!6 小时前
05-【园区】SDN+VXLAN 私有云安全防护架构
网络安全·架构·sdn·拓扑图
2501_941982057 小时前
基于自动化控制架构的企业微信群消息管理系统设计
架构·自动化·企业微信
moonsims7 小时前
基于Lattice Mesh的AI 的分布式共识与动态任务分配架构的无人机群“去中心化无声协同”技术和极低带宽下的韧性通信技术
人工智能·分布式·架构