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


✅ 项目技术选型方案

🧱 一、整体架构风格

项目层级 技术选型 说明
架构风格 微服务架构(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 解耦,支撑高并发弹幕实时推送。

相关推荐
郑州光合科技余经理8 小时前
同城O2O海外版二次开发实战:从支付网关到配送算法
开发语言·前端·后端·算法·架构·uni-app·php
AI木马人9 小时前
13.【多租户架构实战】如何让一个AI系统同时服务多个用户且数据完全隔离?(完整设计方案)
人工智能·架构
Element_南笙11 小时前
VGG网络-深度学习经典架构解析
网络·深度学习·架构
AI自动化工坊11 小时前
Cloudflare Project Think技术实践:零成本AI Agent部署架构深度解析
人工智能·架构·agent·cloudflare
Cory.眼12 小时前
若依(RuoYi)框架介绍
架构·前后端分离·若依架构
像我这样帅的人丶你还12 小时前
前端监控体系与实践:从错误上报到内存与 GC 观测
前端·javascript·架构
squarezw13 小时前
AI 跑 5 小时,我干 15 分钟:一次 feature 交付的杠杆实验
架构
丷丩13 小时前
从“失忆工具“到“智能助手“:GeoAI平台的Agent架构演进
人工智能·架构·gis·空间分析·geoai
uzong13 小时前
更简单的架构如何让我成为更好的高级开发者
后端·架构
uzong13 小时前
何时使用以及何时不应使用微服务:没有银弹
后端·架构