2014-07-02 51 views
7

我有一個應用程序發送電子郵件並執行文件上傳(和圖像大小調整)。這兩項服務都不經常使用,而且很輕。AWS兩個SQS隊列發送給一名工作人員

我已經使用了SQS隊列發送消息(電子郵件/主題/機構)運行的應用程序西納特拉調用API SES工人,這是運行良好。我的問題是:是否可以將文件上傳消息發送給同一個工作人員?這可能會在不同的隊列中。

似乎很浪費有兩個EC2實例坐在那裏,(在大多數情況下),什麼都不做。

PS:我正在使用彈性豆杆

+0

「我已經使用了SQS隊列發送消息(電子郵件/主題/機構)運行的應用程序西納特拉調用API SES工人,這是運行良好」 - 你會願意分享這個代碼?我一直在爲此苦苦掙扎,並且找不到任何例子。 – pingu

回答

7

最好在消息中引入一個屬性TYPE。消息類型可以是EMAIL/FILEUPLOAD。根據TYPE屬性,工作人員可以用消息調用相應的服務。

通過上述方法,你就能夠用一個工人&一個隊列處理形式交往。您也可以自動擴展服務器,並且處理多個工作人員的消息時不會出現問題。

+0

啊,是的,我在5分鐘前有一個類似的計劃,很高興知道別人也在想它!謝謝 –

0

當然,爲什麼不是我最初的答案。實例內部的內容完全取決於您,完全由您控制。鑑於您已經指定了應用程序/服務器利用率很輕,你可以把你的其他應用程序相同。

只要確保給定的實例大小都正確,當兩者都在同一個實例中;應用程序域(2個應用程序),應用程序配置不會相互混淆。 PS:您將爲新應用使用單獨的隊列;如果需要在隊列中發送圖像,則可以在S3中上傳圖像,並將它們各自的鏈接放入SQS消息項目中並處理它們。

+0

謝謝,我忘了提及我正在使用彈性豆莖。這種模式似乎不太願意做這種事情。也許我應該通過創建自己的EC2實例來手動完成 –

相關問題