【问题标题】:Send file to gearman worker将文件发送给齿轮工
【发布时间】:2012-07-25 08:01:19
【问题描述】:

我目前正在将网页的视频转换部分(有点像 youtube,用户上传视频,然后我们将其转换为 flv/mp4)到不同的服务器。我已经在同一台机器上运行了gearman 的系统。因此,当用户将视频文件上传到服务器 A 时,会被同一服务器 A 上的齿轮工作人员选中。

现在我将worker移动到服务器B。所以服务器B上的worker需要访问服务器A上上传的文件。目前我使用SCP将文件从A复制到B然后处理它。这种方法有效,但我觉得应该有一种更干净的方法,但我还没有找到任何关于将文件(或大文件)发送给 gearman 工作人员的信息。您将如何解决这个问题?

最好是客户端将视频文件作为命令的一部分发送以启动后台作业,因此我不必担心文件实际来自工作人员的什么位置。这样我就可以毫不费力地添加更多转换服务器。

我的网页和工作人员都在使用 PHP(与 Gearman extension)。

【问题讨论】:

  • A 和 B 之间是否共享 NFS/SSHFS 挂载?
  • 我也想过这个问题,但我更喜欢不同的解决方案。但是请发表您的评论作为答案,如果没有更好的结果,我会接受它:)
  • 如果没有更好的结果,我会写一个详细的答案:)
  • @DavidKuridža SSHFS 会添加不必要的加密,推测服务器在同一个内部网络上,并且 NFS/FTPFS/UnionFS/9P 的通信足够安全(我似乎记得 UnionFS 支持网络文件夹但我不确定)。
  • 他们在同一个网络上是的。我们正在使用 FreeBSD&Linux

标签: php gearman


【解决方案1】:

正如 cmets 中所建议的,拥有共享 FS 是(通常的)实现方式,并且只需在来自 gearman 的作业请求中传递路径。 Gearman 不适合传递大量数据,因为它必须将作业的所有信息保存在内存中。它从未设计用于处理大文件的传输和分发。由于 MogileFS 最初也是在 Danga 开发的,因此根本没有必要在 Gearman 中也包含文件传输和处理(这是一件好事,有很多技术可以比 Gearman 更好地解决这个问题)。

当视频到达时,我们使用 NFS 处理分布式工作人员,编码器将编码后的视频放回 NFS 共享上,完成后可供公众使用。还没有严重的问题,NFS 是稳定的,它的问题是众所周知的,并且已经解决了你将看到的那种负载。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-08
    • 2015-12-13
    • 2021-04-12
    • 1970-01-01
    • 1970-01-01
    • 2014-02-16
    • 2023-04-03
    • 1970-01-01
    相关资源
    最近更新 更多