あなたはこのプロセスに逆戻りしていると思います。開始時にアプリケーションに使用するテクノロジの一般的な考え方を知っておくと便利ですが、本当に必要なのは、ニーズや使用目的に合わせてアプリケーションを設計し、適合する技術を選択することです。そのため、目的に合った技術を選択する必要があるときに、技術の目的を説明するように依頼するのはあまり意味がありません。
"ソーシャルネットワーキングサイト"は、可能性のあるアプリケーションの巨大なドメインを記述しているため、これらのテクノロジがアプリケーションにどれだけ適しているかについてはコメントできません。あなたは誰があなたがそれをやりたいかについてアドバイスを与える前に、あなたが何をしたいかについての非常に具体的なアイデアが必要です。
一般に、Herokuはあらゆる種類のWebアプリケーションの優れたプラットフォームですが、これらの選択肢のいくつかはHerokuにとって意味がありません。たとえば、この場合、Djangoに接続されたWebサーバーとしてApacheを使用することは意味がありません。 Cedar、Herokuの新しいテクノロジースタック(およびDjangoをサポートする唯一のHerokuスタック)は、 gunicorn。あなたがHerokuのビルドパックをセットアップするために手を加えれば、mod_wsgiのようなApache plusがうまく動作しないという技術的な理由はありませんが、ここで正しい選択ではありません。
ヘロクは、CedarでDjangoを設定する方法についてvery explicit documentationを持っています。このドキュメントは、あなたがMySQLの代わりにPostgresを使用していることを前提としています。これは実際には良い考えですが、好きなMySQLサービスを使うように簡単に設定できます。手頃な価格のMySQLパッケージがHerokuアドオンとして含まれています。
メールのために、是非ともHeroku add-onsをご利用ください。 Herokuのスタックに独自のメールサーバーを展開しようとしないでください(技術的に可能かもしれませんが、再度ビルドパックを使って、Herokuのポイントではありません)。
負荷分散はHerokuによって自動的に行われます。 Herokuのロードバランシングが何らかの理由で不十分な場合は、私がそれらとやりとりしたときに、正しく認識された欠点に常に関心を示しているため、サポートに直接お問い合わせください。
RabbitMQは、Herokuのアドオンとして提供されているため、アプリケーションにこのサービスが必要な場合は問題ありません。
あなたのアドバイスありがとう – TomJoy
私はこのgunicornで作業していません。ウェブサーバーとしてApacheを使用できますか?herokuは数万の接続を同時にサポートできますか、いくつかの負荷分散技術をアドバイスしてもらいたいですか? – TomJoy
heroku appilcationのために、論理キャッシングのためにmembaseとmemcache/redisを使用する必要があるかどうか、あるいはHTTPアクセラレータを使用する必要がありますか? – TomJoy