4

画像処理システム。

ユーザーが S3 に写真をアップロードします。画像処理アプリケーションは S3 から写真を取得し、その処理を開始して出力を返します。

プロセス: Web サーバーは画像の情報を含む SQS メッセージをキューに送信し、画像処理サーバーは SQS メッセージを取得してこの画像の処理を開始します。画像処理が完了するとすぐに、画像を S3 にアップロードし、SQS メッセージをキューに戻します。画像処理エンジンは EC2 サーバー上にあります。

質問は次のとおりです。Web サーバーは、画像処理サーバーから送信されたキューからの返信 SQS メッセージをどのように取得できますか?

4

1 に答える 1

7

画像処理を、要求と応答があるリモートプロシージャコールとは考えないでください。分散システムのさまざまなコンポーネントによって実行される一連のタスクと考えてください。この問題を2つのキューで解決します:uploaded-imagesprocessed-images

Webサーバーは画像を受け入れ、S3に配置し、uploaded-images処理が必要であることを示すメッセージをキューに送信します。

画像処理EC2インスタンスは、メッセージがuploaded-imagesキューに到着するのを待ってから、S3から画像を取得し、何らかの処理を行って、結果をS3に入れます。processed-images次に、画像が処理されたことを示すメッセージをキューに送信します。

Webサーバーはポーリングprocessed-imagesし、画像が処理されたら必要なことをすべて実行します。データベースを更新したり、画像の処理が完了したことを示すエントリを短期間のキャッシュに設定したりします。

于 2012-11-27T21:19:48.700 に答える