视频分布式上传方案详解( 二 )


【视频分布式上传方案详解】 1. 需要额外的反向代理服务配置2. 无法进行动态扩容缩容,尤其不适用容器的部署方式3.每台服务器都需要分配足够的磁盘空间大小,需要更多的磁盘资源4. 很容器出现服务器倾斜的问题5. 业务处理服务与上传存储服务耦合1. 业务处理需要把上传文件的中间态保存下来2. 业务端上传成功,实际并未真正上传成功6. 需要保留很多文件中间状态,代码实现很繁杂7. 上传失败之后无法提前告知用户
因为方案 1缺点太多了,我们就自然而然想到下面的方案二,它能解决方案 一中的大部分问题
方案二,每台服务服务都挂载一个共享磁盘
方案二的实现方式,比较简单,就是每个服务挂载一个共享磁盘,所有上传的分片文件都存储到这个共享磁盘当中,当所有分片上传完成之后,组合共享文件磁盘当中的分片为一个完整的文件,再上传到阿里云的点播平台
方案二解决了方案一中 1、2、3、4 点的问题
1. 需要配置额外的共享磁盘2. 无论业务方分片上传,还是将文件发送到点播云,都需要经过从共享磁盘到业务服务器之间的网络传输,上传性能更差,更多的io意味着更多的不稳定性3. 业务处理服务与上传存储服务耦合1. 业务处理需要把上传文件的中间态保存下来2. 业务端上传成功,实际并未真正上传成功4. 也需要保留很多文件的中间状态,代码实现也会相对复杂5. 上传失败之后无法提前告知用户