2017-05-04 12 views
1

Dockerイメージに含まれるワーカーにタスクを送信するサービスがあります。 AWS FreeTierを使用してスケールする必要があります(AutoScaleグループはオプションではありません)。 この画像を使ってt2.microインスタンスビルドをテストしたところ、すべて正常に動作しました。 xインスタンスを手動で作成する場合、それらの間の負荷をどのようにバランスさせるのですか? インスタンスは、より多くの要求を受け入れることができるというフラグを設定できますか?メモリおよびCPU使用率レベルは、クリーンアップロジックのために役立たない可能性があります。 CPUやメモリの使用量が少なくてもまだ実行されている可能性があります。AWS各リクエストを新しいインスタンスに転送する方法

答えて

3

私はSQSの使用を推奨します。インスタンスをプルしようとするのではなく、インスタンスをプルするようにしてください。

それぞれの「タスク」をSQSキューに入れ、インスタンスは準備ができたらタスクを要求します。彼らがタスクを正常に完了すると、ワーカー/インスタンスはそれをキューから削除し、別のタスクの作業を依頼することができます。

何らかの理由でインスタンスが失敗した場合、タスクは自動的にキューに自動的に戻され、別のワーカーによって取得されます。

作業を行う作業項目がある一方、他の作業者に同時に与えられることはありません(注意:非常にまれなケースを除き、それは起こりますが、その可能性を考慮する必要があります)。

+0

私はSQSを調べていただきありがとうございます。私はそれがどのように行ったのかコメントを残します。 – halgrim

関連する問題