2

オーディオ ファイルのアップロードとトランスコーディングのために、1 つの Amazon インスタンスに php に基づくアプリケーションがあります。このアプリケーションは、最初にファイルをアップロードし、その後トランスコードして、最終的に 1 つの s3 バケットに入れます。現時点では、アプリケーションは、一時フォルダー内のファイル サイズを監視することにより、繰り返し ajax 要求に基づいてファイルのアップロードとトランスコーディングの進行状況を表示します。

明日ユーザーが私のサービスに殺到し、AWS で可能な方法でサービスをスケーリングする必要があるかどうか、常に疑問に思っていました。

A: アップロードおよびトランスコーディング技術はどうなりますか?

B: さらにインスタンスを追加すると、異なる物理的な場所にある異なる一時変換フォルダーに異なるファイルが存在することになりますか?

C: ajax でhttp://www.example.com/filesizeから最終プロセスまでのファイル サイズを取得する場合、各 ec2 インスタンスの実際のアドレス (つまり、ip、dns) またはすべてを取得する必要がありますか?インスタンス フォルダ (またはフォルダ) の

D: スケーリングすると、一時フォルダーはどうなりますか? ランプ スタックを除くすべてのインスタンスがメイン インスタンスの 1 つのルート フォルダーにあるというのは正しいですか?

他のホスティング手法でのスケーリングに関する基本的な情報はいくつかありますが、Amazon ではこれらの質問が頭に浮かびます。

アドバイスをありがとう。

4

2 に答える 2

0

アプリケーション アーキテクチャについてかなり詳しく知らずに質問に答えることは困難ですが、一時ファイルを使用していることを考えると、次のように推測できます。

  1. スケーリングする能力は、完全にアーキテクチャに依存します。もちろん、支払いに十分な深さのウォレットを持っているかどうかにもよります。

  2. はい。個々のマシンで一時ファイルを生成している場合、それらは現在説明している方法で共有場所に保存されません。

  3. はい。ファイルがどこに保存されているかを知る方法が必要です。ELB スティッキネス ポリシー (つまり、ELB を通過するトラフィックが同じインスタンスにルーティングされる) でこれを回避できるかもしれませんが、それらは面倒であり、必ずしも問題を解決するとは限りません。

  4. ここで質問が何であるかよくわかりません。

アプリケーションの初期段階にいるように思われるので、このチュートリアルこのチュートリアルをのぞいてみてください。1 つ目は Amazon SQS 上に構築されたサムネイル サービスについて説明し、2 つ目はビデオ処理サービスについて説明します。AWS のベスト プラクティスを念頭に置いて設計し、現在懸念している多くの問題を回避するのに役立ちます。

于 2012-08-19T12:52:23.420 に答える
0

スケーリングとセッション スティッキーを回避する方法の 1 つは、トランスコーディングでデータベースを現在の進行状況で更新することです。戻るユーザーはデータベースをチェックして、アップロードの進行状況を確認します。進行状況が 1 つの場所に保存されるため、トランスコーディングが行われている場所を追跡する必要はありません。

ただし、クリストファーが言ったように、私たちはあなたのアプリケーションについて何も知りません。 . これは非常に単純な解決策のように思えますが、アプリケーションやアーキテクチャについて何も知らないため、何かが欠けている可能性があります。

于 2012-08-20T16:26:43.087 に答える