数百万のオーディオアイテムをユーザーが自分のサーバーにアップロードしたいと考えています。現在のアプリはコンテンツを与え、トランスコードし、最後にftpでストレージサーバに送信するように設計されています。大量アップロードのサーバー負荷とスケーラビリティ
は、アプリケーションサーバーが複数のサーバー(Webアプリケーションの負荷を運ぶために)にスケーリングした後、トランスコーディングを、コメント、アップロードのようなユーザーによる巨大なタスクを負担することができない:私は知りたいですか?
上記の質問の答えが「はい」の場合、それは正しい、最良のアプローチですか?優れたアーキテクチャはストレージサーバーにトランスコーディングを送信することになるため、ジョブの終了とアプリケーションサーバーへの応答の送信を待つが、同時に複雑さと不安が増えます。
このタイプのウェブサイトの一般的な方法は何ですか?
ストレージサーバーにアップロードとトランスコードのジョブを送信すると、長期的なスケーラビリティでエンタープライズストレージテクノロジと互換性がありますか?
5現在のアプリケーションはPHPに基づいています。アップロードオーバーロードを克服するためにtmpフォルダを別のサーバに移動することは可能ですか?
答えてくれてありがとう、tmpフォルダの質問番号5。私はApacheのtmpフォルダを意味します。最終的な保存先(例:ストレージサーバーまたは任意のソリューション)に移動する前にアップロードされたすべてのファイルは、Apacheのtmpフォルダに保存されています。私はこれがApacheのルールで、アップロードされたすべてのファイルが最初にアプリケーションサーバーに配置されるべきなのかどうか疑問に思っていたので、一時的なストレージまたはサーバーに大量のストレージを制御、拡張、私は最終的な場所に送信する前にアップロードされたファイルのゲストになるappcheのtmpフォルダとしてサーバーまたはストレージソリューションを意味します。私は、データベース、ストレージ、ロードバランシング、memcacheなどのスケーリングに関するすべてのことを研究し、設計しましたが、これは私の未解決の問題の1つです。ユーザーがメインサーバーに到着した新着ファイルは、スケーリングされたアーキテクトで使用されますか?そして、これに対する共通の解決策は何ですか? (1つのボックスソリューションでは、すべてのファイルがappcheのtmpディレクトリに一時的に格納されますが、膨大な量のコンテンツとスケーリングされたシステムでは一時的に使用されます)。 よろしく
私はベルンハルトの答えに同意します。ファイルを同期してトランスコードしている間に、(同時にであろうとなかろうとも)何百万人ものユーザーを処理することは期待できません。ユーザーがファイルをアップロードしてから、バックグラウンドで頑張ったり、他のサーバーに送信したりできるようにします。また、エンタープライズ・ストレージ・ソリューションは、ウォレットのサイズと同程度に拡張性があることに気付く必要があります。 – a1wca
私は質問の詳細を追加しました。乾杯! – nntona
正直言って私はあなたの質問に直接答えたり、Apacheやファイルシステムなどを設定するヒントを与えることはできませんが、私はすべてのシステムを分離して、サブシステムの停止が完全なサービスを停止させないようにします。たくさんのアップロードに適しているサーバーがあるかもしれません。多分、別のWebサーバーでより多くのexpirienceを持つ他のユーザーからヒントを得ることができます(lighttpは良いと思われますが、数字はありません)。繰り返しますが、同じような問題のある既存のプロジェクト(例:アップロードが多い)を検索することをおすすめします。 –