HNsnopy 2011-08-17 04:58
浏览 279
已采纳

Web服务器、流媒体服务器如何共享文件?

小弟对服务器架设这一块一直是一个文盲,有几个问题一直没有搞懂,所以请大家教教我

现在有一个项目,需要用到流媒体服务器,我希望把流媒体服务器单独放在一台机器上,暂且称之为A机器,web容器放在另外一台机器上,暂且称之为B机器,现在当用户访问web服务器的时候,上传了一些视频,这些视频是存在B机器上的,但是这些视频需要进行格式转换成flv,这一步操作非常耗时,然后把转换后的flv视频放入到流媒体服务器既A机器的的某个文件夹中(流媒体服务器用的是FMS),请问,我该如何去做?这是不是就是所谓的集群?大概的流程如下图所示:

[img]http://dl.iteye.com/upload/attachment/537628/ddaca225-0503-313a-8509-fef7505a5fde.png[/img]

请各位多给点实质性的回答,路过之类的就不要回帖了谢谢 :D 。小生在此谢谢了。万分感谢。。。。。分不多。总共就13分,拿出一半,留下一半应急。。。。

  • 写回答

1条回答 默认 最新

  • myali88 2011-08-17 13:17
    关注

    不是集群问题,而是文件的分布式存储和访问的问题。
    因为你的A服务器和B服务器都需要访问相同的文件资源,这就是分布式了,那么对于分布式访问,最简单的办法就是利用NFS,网络文件系统。
    NFS,就是你在A机上设定一个目录用于保存上传的文件,然后把它挂载到B机上,这样通过NFS协议,B机就能如同访问本地文件一下访问A机的文件了。反过来,也是一样,如果需要A机访问B机的问题,也可以这样做。

    对于分布式文件访问,NFS是比较简单的,因为它是操作系统提供支持的。所以设置和使用都很简单。但NFS的性能相对不会那么好,服务器的伸缩性和管理方面也不是很好。

    另外还有采用分布式文件系统的方式来实现,比如HDFS(Hoodap的分布式文件系统),但这样的开发难度较大。比较容易使用的是MongoDB提供的文件保存方式(GridFS),这也是一个分布式的文件系统,利用MongoDB可以很好实现伸缩性问题,文件的读写和数据库访问一致,使用起来也很方便。

    最后,你可以通过独立的文件服务器来实现分布式访问。基本思想就是:所有文件保存在文件服务器上,对文件的访问通过统一的查找,比如数据库保存文件唯一标识和保存的服务器目录,这样也能达到分布式访问的目的。不过这种方式,需要你自己实现文件到文件保存的对应算法(有可能文件服务器是一个集群),访问文件也需要自己来控制读写。难度比较大。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?