2016-02-15 5 views
8

あなたがウェブサイト(Facebookのようなもの)を作っているとしましょう。コードを記述してサーバーに展開し、負荷が増加するとサーバーを増やします。これらのサーバーはロードバランサの背後にあり、要求はほとんどすべてのサーバーにランダムに送信されます。Firebaseのようなアプリケーションをどのように設計しますか?

しかし、Firebaseのようなものを作っているとします。今すぐfirebaseで、applicationを作成すると、サブドメイン<app_name>.firebase.comが得られます。サーバーコードはすべてのアプリケーションで同じですが、app1.firebase.comの要求はapp2.firebase.comとは異なる専用サーバーに送られます。したがって、あるアプリからの読み込みは、別のアプリに影響を与えることはできません。


Firebaseのようなものをどのように設計され、より具体的には、質問の範囲を制限するの関心、どのように要求が各applicationのためのホストの特定のセットにルーティングされますか?

+1

非常に興味深い質問が、残念ながらも、信じられないほど広範(およびスタックオーバーフロー上の範囲外のため、可能性が高いです)。興味のある特定の作品(正しいサーバーに接続する方法など)がある場合は、質問を編集してその範囲に範囲を限定することをお勧めします。 –

+0

@FrankvanPuffelen私は、質問の範囲をリクエストルーティングに減らしました。 – Jatin

+0

@FrankvanPuffelen私はこの質問に恩恵をもたらしました!あなたの仕事を考えれば、ここで正式な答えを出すことができるかもしれません。ありがとう! – Jatin

答えて

3

通常、「app」は実際にはサブドメインまたは仮想ホストです。これは、いくつかのテクノロジスタックを介して実行されます。

まず、サブドメインのDNSレコードが必要です。したがって、app.somedomain.comにはインターネット上で解決可能なIPアドレスが必要で、そのサブドメインを指す別名レコード(またはAレコード)が作成されます。これが完了したら、仮想ホストと呼ばれるものを介してサブドメインを処理するためのWebサーバー、通常はapacheまたはnginxを構成します。あなたは、各技術のための具体的なマニュアルを参照してくださいが、Apacheサーバのための最も基本的な構成は次のようになります。

<VirtualHost *:80> 
    ServerName app.somedomain.com 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/app.somedomain.com/ 
</VirtualHost> 
+1

何かのような場合のような手動のファイルベースの設定があるとは思わないファイアベース。 – Jatin

+2

私はFirebaseを使用しませんが、これはインターネットの他の部分がどのように動作するか、 – Griff

関連する問題