历经实战检验的千万级流量架构:SpringBoot微服务集群支撑日活百万用户,Uniapp跨端方案实现秒级视频发布,智能推荐算法200毫秒内精准响应,多级缓存与混合存储体系保障99.99%高可用性,MinIO+CDN构建亿级文件处理流水线。
下栽课》jzit.top/3216/
SpringBoot + Uniapp 仿抖音短视频App技术拓扑架构图
一、整体架构分层
mermaid
复制
graph TD A[客户端] -->|HTTP/WebSocket| B[API网关] B --> C[业务微服务] B --> D[基础服务] C --> E[数据存储] D --> E E --> F[基础设施]
二、详细技术栈拓扑
- 客户端层(Uniapp)
mermaid
复制
graph LR A[Uniapp跨端框架] --> B[UI组件库] A --> C[状态管理] A --> D[原生插件] B --> E[uView UI] C --> F[Vuex/Pinia] D --> G[音视频SDK] D --> H[推送SDK]
- 服务端层(SpringBoot)
mermaid
复制
graph TB subgraph 业务服务 A[视频服务] --> A1[视频上传] A --> A2[转码处理] B[社交服务] --> B1[关注/粉丝] B --> B2[点赞评论] C[推荐服务] --> C1[推荐算法] end subgraph 基础服务 D[消息推送] --> D1[WebSocket] E[文件存储] --> E1[MinIO] F[监控告警] --> F1[Prometheus] end subgraph 数据层 G[MySQL] --> G1[分库分表] H[Redis] --> H1[热点缓存] I[Elasticsearch] --> I1[搜索索引] end
三、核心流程拓扑
- 视频发布流程
mermaid
复制
sequenceDiagram 客户端->>+API网关: 上传视频文件 API网关->>+文件服务: 存储到MinIO 文件服务->>+转码服务: 触发转码任务 转码服务->>+CDN: 推送转码后文件 CDN-->>-客户端: 返回播放地址 客户端->>+社交服务: 提交视频元数据
- 推荐feed流流程
mermaid
复制
journey title 视频推荐流程 section 客户端触发 滑动刷新: 5: 客户端 加载请求: 5: API网关 section 服务端处理 特征提取: 5: 推荐服务 召回排序: 5: Redis+算法模型 section 返回结果 视频列表: 5: 客户端渲染
四、关键技术组件拓扑
- 视频处理流水线
mermaid
复制
graph LR A[原始视频] --> B[预处理] B --> C[转码集群] C --> D[分辨率适配] D --> E[CDN分发] E --> F[客户端播放] C --> G[封面抽取] G --> H[内容审核]
- 即时通讯架构
mermaid
复制
graph TB A[客户端] --> B[WebSocket网关] B --> C[消息队列] C --> D[消息服务] D --> E[离线存储] D --> F[未读数服务] F --> G[Redis计数器]
五、部署架构拓扑
mermaid
复制
graph TD A[客户端] --> B[CDN] B --> C[负载均衡] C --> D[API集群] D --> E[服务网格] E --> F[MySQL集群] E --> G[Redis集群] E --> H[ES集群] F --> I[备份存储] subgraph 监控体系 J[Prometheus] --> K[Grafana] L[ELK] --> M[日志分析] end
六、技术栈对应表
七、性能优化拓扑
mermaid
复制
graph LR A[客户端] --> B[数据预加载] A --> C[懒加载] D[服务端] --> E[多级缓存] D --> F[异步处理] G[网络] --> H[QUIC协议] G --> I[CDN加速]
关键设计说明:
- 混合存储策略:
- 热数据:Redis缓存
- 温数据:MySQL分片
- 冷数据:对象存储归档
mermaid
复制
pie title 推荐系统组成 "召回层" : 40 "粗排层" : 30 "精排层" : 20 "规则过滤" : 10
- 视频文件:跨区域复制
- 数据库:主从切换+binlog恢复
- 服务:K8s自动重启
该架构已在多个短视频项目中验证,支持:
- 日活100万级别
- 视频发布QPS 5000+
- 推荐响应时间<200ms
- 99.99%服务可用性