同じデータベースを持つ同じDjangoアプリケーションを提供する2つのWebサーバーで、2つのサーバー間のすべての要求のバランスをとることができました。Djangoロードバランシング:ユーザーメディアを共有するには?
セッションはDBに格納されます。静的メディアは、コンテンツ配信ネットワーク(CDN)を使用した場合と同じように処理できます。
しかし、アップロードPOSTを受信するウェブサーバーのローカルファイルシステムにあるユーザーがアップロードしたメディアファイルはどうすれば処理できますか?明らかに、2番目のサーバーにはこれらのファイルがありません。
信頼性の高いソリューションとは何ですか?いくつかの3番目のサーバーにNFS? Unisonを常時実行しているか、Mercurial oder gitのようなDVCSを使用していますか?
S3やCloudfilesを唯一のメディアストレージとサービス機能として使用し、ファイルを自分で配信しないことを考えていますか? – Paul
はい、正しいです。ロードバランサが1つの場合は、すべてのメディアを(NFSなどを介して)そこに置くことができますが、複数のロードバランサを使用すると、同じ問題が戻されます。静的およびアップロードされたメディアにS3を使用することは、長期的にはるかにスケーラブルなソリューションです。 –
OKありがとう、それは私が欲しいものではない(唯一のクラウドストレージに依存しない)が動作するだろう! – Paul