2016-02-15 39 views
8

Diciamo che stai creando un sito web (qualcosa come Facebook). Si scrive codice, lo si distribuisce sui server e si aumentano i server all'aumentare del carico. Questi server sono dietro un bilanciatore del carico e le richieste possono praticamente andare su qualsiasi server, a caso.Come si progetta un'applicazione come Firebase?

Ma diciamo che stai facendo qualcosa come Firebase. Ora in Firebase puoi creare un application e ottieni un sottodominio <app_name>.firebase.com. Mentre il tuo codice server è sempre lo stesso per tutte le applicazioni, ma le richieste di app1.firebase.com andranno a un set dedicato di server, diverso da app2.firebase.com. Quindi, caricare da un'app, non può influire su un altro, come dovrebbe essere.


Come è qualcosa di simile a Firebase progettato, più specificamente, nell'interesse di limitare la portata della domanda, come sono le richieste indirizzate a un particolare insieme di host per ogni application?

+1

Molto interessante domanda, ma purtroppo anche incredibilmente ampio (e quindi probabilmente fuori portata su Stack Overflow). Se hai un pezzo specifico a cui sei interessato (ad esempio come indirizzare le connessioni al server corretto), probabilmente farei meglio a modificare la tua domanda per limitare l'ambito a quel pezzo. –

+0

@FrankvanPuffelen Ho ridotto l'ambito della domanda verso il basso per richiedere il routing. – Jatin

+0

@FrankvanPuffelen Ho iniziato una taglia su questa domanda! Considerando il tuo lavoro, potresti essere in grado di fornire una risposta autorevole qui. Grazie! – Jatin

risposta

3

In genere, l'"app" come la si chiama in realtà è un sottodominio o host virtuale. Questo è realizzato tramite alcuni stack tecnologici.

Per prima cosa è necessario un record DNS per il sottodominio. Pertanto, app.somedomain.com deve avere un indirizzo IP risolvibile su Internet e viene creato un record alias (o un record) che punta a tale sottodominio. Una volta completato, si configura un server Web, in genere apache o nginx per gestire il sottodominio tramite quello che viene chiamato un host virtuale. Si consiglia di consultare la documentazione specifica per ogni tecnologia, ma per il server apache sua configurazione di base dovrebbe essere simile a questa:

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

Non penso che ci sarebbe alcuna configurazione manuale basata su file coinvolta come quella in caso di qualcosa come Firebase. – Jatin

+2

Non utilizzo Firebase, ma questo è il modo in cui funziona il resto di Internet, – Griff

Problemi correlati