Topic Activity
Started by
刘一帧
Topic Status
Waiting for first reply
Participants
1
Engagement
0
最近在给内部一个视频管理后台重构上传模块,动辄几十 GB 的源文件,选型上和后端哥们掰扯了几天,想听听大家的实战经验。
目前主要看两个方向:
直接上 tus 协议:标准非常成熟,后端直接起个 tusd(Go 写的性能确实稳),断点续传和各种边界情况协议层都定死了,前端调 tus-js-client 省心省力。但槽点是得额外部署维护这套服务,而且流量还得走一层代理,没法直接白嫖云厂商的 CDN/边缘加速。
自研轻量 SDK + 对象存储(S3 / OSS)分片直传:架构最干净,后端只给预签名 URL,前端起 Web Worker 切片、算 hash、做并发控制,直接推给 OSS,应用服务器完全不吃带宽。但所有的脏活累活全甩给前端了——断点续传的状态缓存、网络抖动重试、分片清理,稍微考虑不周就漏分片。之前算超大文件 spark-md5 把 Worker 内存干爆的阴影还在。
大家在生产环境里大文件都走哪条路?如果是直传方案,你们本地断点状态是直接丢 IndexedDB,还是每次上传前都向后端查一次已完成的分片?
All Replies (0)