AWS将两个SQS队列发送给一个worker



我有一个发送电子邮件和执行文件上传(和图像调整大小)的应用程序。这两种服务都不太常用,而且都很轻。

我已经使用SQS队列发送消息(电子邮件到/主题/主体)到一个工人运行一个Sinatra应用程序调用SES API,这是运行良好。我的问题是:是否有可能将文件上传消息发送到同一工作人员?这可能在另一个队列上。

让两个ec2实例坐在那里(大多数情况下)什么都不做,这似乎很浪费。

PS:我使用弹性豆茎

最好在消息中引入TYPE属性。消息类型可以是EMAIL/FILEUPLOAD。基于属性TYPE,工作者可以使用消息调用相应的服务。

使用上述方法,您将能够使用一个工作者处理消息。一个队列。您也可以自动扩展服务器,这样处理多个worker的消息就没有问题了。

当然,为什么不呢?这是我最初的回答。实例内部的内容完全由您决定,并在您的完全控制之下。考虑到您已经指定了应用程序/服务器的利用率非常低;你可以把你的其他应用放到同一个目录

只要确保给定的实例大小是好的,当两者都在同一个实例;应用程序域(2个应用程序),应用程序配置不会相互混合。

PS:您将为新应用程序使用单独的队列;如果您需要在队列中发送图片,您可以在S3中上传图片,并将其各自的链接放在SQS Message项中进行处理。

最新更新