Laravel Larvel多台服务器使用AWS队列
我在两台服务器上运行了laravel应用程序(使用负载平衡器),我想知道如果我将作业放入AWS SQS队列,并且两台服务器都订阅了队列,会发生什么情况Laravel Larvel多台服务器使用AWS队列,laravel,amazon-web-services,amazon-sqs,Laravel,Amazon Web Services,Amazon Sqs,我在两台服务器上运行了laravel应用程序(使用负载平衡器),我想知道如果我将作业放入AWS SQS队列,并且两台服务器都订阅了队列,会发生什么情况 该作业有可能被处理多次吗 是否有任何方法可以进行设置,以便将作业放入队列的同一台服务器处理该作业(请考虑文件首先存储在磁盘中的文件上载位置) 对于此类设置的任何经验/提示/建议,我们将不胜感激 是否有任何方法可以设置这些内容,使放置作业的同一服务器 在队列中处理作业(认为文件上传在文件所在的位置) 首先存储在磁盘中) 只需将每个服务器配置为使
- 该作业有可能被处理多次吗李>
- 是否有任何方法可以进行设置,以便将作业放入队列的同一台服务器处理该作业(请考虑文件首先存储在磁盘中的文件上载位置)李>
.env
配置文件执行此操作
该作业有可能被处理多次吗
是的,SQS仅保证至少一次交付。您应该构建应用程序,以允许传递消息的多个副本
通常,解决这个问题的方法是使用一个可以锁定消息唯一标识符的服务。这样可以限制关键部分
是否有任何方法可以进行设置,以便将作业放入队列的同一台服务器处理该作业(请考虑文件首先存储在磁盘中的文件上载位置)
正如Laurence所建议的,每个实例都可以有单独的队列