3

近いうちにアプリケーションを立ち上げる予定です。このアプリケーションでは、ユーザーがファイル (画像) をアップロードして、他のメンバーが閲覧できるようにする必要があります。S3 は比較的安価で、自動的にスケーリングされるため、S3 のアイデアが気に入っています。

私の問題は、ユーザーに画像を S3 にアップロードさせる方法です。いくつかのオプションがあるようです。

1- PHP REST API を使用します。唯一の問題は、同じ画像のさまざまな縮尺のバージョン (つまり、サムネイル) を同時にアップロードし、それらを s3 に直接アップロードすることができないことです (この方法では、一度に 1 つの画像に対してのみ機能します)。全体的に、柔軟性が低いようです。

http://net.tutsplus.com/tutorials/php/how-to-use-amazon-s3-php-to-dynamically-store-and-manage-files-with-ease/

2- もう 1 つのオプションは、s3fs を使用して S3 バケットをマウントすることです。次に、NFS の場合と同様に、プログラムでイメージをバケットに移動します。私が読んだ限りでは、S3 のマウントの信頼性に疑問を持っている人もいるようです。これは本当ですか?

http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=fuse+over+amazon

信頼性と速度を最大化するには、どの方法が適していますか?

EBS は考慮すべきものでしょうか? EC2 インスタンスを使用するのではなく、専用のボックスを使用したいのですが...

4

1 に答える 1

1

あなたのユースケースでは、パフォーマンスのために s3fs を使用するのではなく、S3 API を直接使用することをお勧めします。s3fs は S3 の API の上にあるもう 1 つのレイヤーであり、その API の使用がアプリケーションにとって常に最適であるとは限らないことに注意してください。

サムネイルの作成を処理するには、Amazon Simple Queue Service を使用してメインのアップロード プロセスから切り離すことをお勧めします。こうすることで、ユーザーはファイルがアップロードされるとすぐに応答を受け取り、処理を待つ必要がなくなり、応答時間が短縮されます。

EBS の使用に関しては、それは別のシナリオです。EBS は、Amazon EC2 インスタンスの単なる永続ストレージであり、その信頼性は S3 とは比較になりません。

マシン上の物理 HDD や EC2 上の EBS インスタンスとは対照的に、S3 は「結果整合性」のみを提供することを覚えておくことも重要です。そのため、それを正しく処理するようにアプリをコーディングする必要があります。

于 2011-11-03T08:05:46.293 に答える