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


✅ 项目技术选型方案

🧱 一、整体架构风格

项目层级技术选型说明
架构风格微服务架构(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 + JWTToken 鉴权,接口保护
消息队列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 解耦,支撑高并发弹幕实时推送。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值