如何解决多服务器中的laravel队列
我要进行UGC项目。我有一个主服务器(应用程序)和4个编码器服务器(来回转换视频)和一个存储服务器(用于托管视频)。 我想在laravel队列中使用数据库驱动程序,而我的目标数据库是作业。对于每个上传的视频,我有5个特定的工作,可以将视频转换为240p,360p,480p,720p和1080p。 但是作业未指定属于哪个编码器服务器。例如,在Encoder Server#4中上传了一个视频,但是Encoder Server#2尝试启动作业并失败,因为文件在Encoder Server#4中 我该如何解决这个问题?
解决方法
正如@apokryfos所说,将文件上传到共享存储,例如Amazon S3 / Google Cloud Storage /数字海洋空间。..
让处理作业从中央存储下载它,进行处理,然后将结果上传到另一个中央存储。
如果您将一个作业绑定到一个工作人员(称为编码器服务器)上, 它没有任何意义,它将永远无法扩展,并且注定会陷入问题。
通过这种方式,您可以在需要时扩大规模。 您甚至可以自动缩放它们。
考虑使用kubernetes部署,以实现轻松(自动)扩展。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。