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


✅ 项目技术选型方案

🧱 一、整体架构风格

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

相关推荐
枫叶梨花1 分钟前
从 M4S 到 MP4:用 FFmpeg 轻松合并音视频文件
ffmpeg·音视频
胖虎12 小时前
(二十一)深入了解AVFoundation-编辑:导出视频与格式转换的全流程
音视频·音视频导出·音视频格式转换
小厂永远得不到的男人3 小时前
基于 Spring Validation 实现全局参数校验异常处理
java·后端·架构
9527华安3 小时前
FPGA高端项目:图像采集+Aurora 8B10B+UDP图传架构,基于GTH高速收发器的光口转网口,提供工程源码和技术支持
fpga开发·架构·udp·aurora·gth·高速收发器·aurora 8b10b
Bug退退退1234 小时前
关于微服务下的不同服务之间配置不能通用的问题
微服务·云原生·架构
Ashlee_code6 小时前
香港券商櫃台系統跨境金融研究
java·python·科技·金融·架构·系统架构·区块链
uhakadotcom8 小时前
什么是esp32?
面试·架构·github
GISer_Jing8 小时前
旅行足迹App技术架构全解析
人工智能·chatgpt·架构
观熵9 小时前
Android 相机系统全景架构图解
android·数码相机·架构·camera·影像
希望_睿智11 小时前
实战设计模式之解释器模式
c++·设计模式·架构