0

Amazon ec2 インスタンスが sqs キューをリッスンして PDF を画像に変換するとします。resque を実行し、メインの redis を共有する 5 つの作業を持つ別の 4 つのインスタンスがあるとします。

シナリオ: PDF を受け取ります。25 ページあります (サーバーごとに 5 ページ)。ファイルをs3にアップロードします。次に、ページごとに perform メソッドを実行して画像を生成します。

私の質問は、5 つのインスタンスが s3 からファイルをダウンロードする必要があるということです。これはお勧めですか?他の解決策はありますか?個別の画像を変換するために 10 MB のファイルをダウンロードする 5 つのインスタンスは、遅すぎてコストがかかりすぎるように思われるため、作業ごとに、ファイルが存在するかどうかファイル システムを確認する必要があります...

全体的なスケーラビリティ設計において、このアプローチは正しい方向に進んでいますか?

あなたの助けに感謝!

4

1 に答える 1

1
  1. s3 を使用することで、独自のストレージ、データ転送帯域幅、信頼性/可用性を管理するという頭痛の種が取り除かれ、一般的に設計全体に適しています。
  2. 設計に取り組み、冗長なデータフロー/セットを最小限に抑えることについて適切な決定を下し、アトミックタスクを賢明に定義する必要があると思います (小さすぎず、大きすぎず)。(たとえば、PDF ファイルを 5 つのチャンクに事前にカットできますか)。
  3. また、ファイル交換目的の S3 はそれほど高価ではなく、同じリージョン内の ec2 インスタンスの場合、トラフィックは無料です。aws.amazon.com/s3/pricing/ をご覧ください
于 2012-09-14T19:50:27.840 に答える