Un po 'di tempo libero al lavoro lascia che la mia mente si chieda un po'. Stavo progettando un'applicazione single location su Digital Ocean (bilanciamento del carico ai server delle app in DB con DNS). Tutto bene. Poi ho pensato a cosa succederebbe se l'applicazione avesse molto traffico in America e in Giappone, quindi voglio che i data center si trovino nelle posizioni geografiche strategiche di New York, California e Tokyo per accelerare le richieste. Tutto con la configurazione di cui sopra, è necessario sincronizzare i dati necessari. Ottengo le connessioni wan.
Quello che non capisco è come digitare su www.awesomesite.com uno di quei data center senza dover inserire qualcosa come una regione nell'URL? Presumo che Facebook, Google e Amazon facciano qualcosa per questo, ma non ho fortuna a capirlo.
EDIT
Sembra che ci siano due modi per gestirlo.
-
Lasciando che DNS faccia ciò che fa con "load balancing", ovvero Round-Robin DNS. Il che ha alcuni difetti ben documentati ma è una buona soluzione economica.
-
L'altro è il bilanciamento del carico effettivo usando qualcosa come NGIX o HAProxy. Ma la documentazione è scarsa là fuori.
- Questo può essere per il ripristino di emergenza?
- Disponibilità elevata?
Quello che sto cercando di capire più accuratamente è l'opzione 2. Più specificamente
- Dove si trovano tali proxy?
- C'è un singolo proxy o più?
- In che modo è ancora efficiente se esiste un bilanciamento del carico globale?
- In che modo DNS sa a chi accedere se ci sono multipli (è più round robin)?
Questo è il mio pensiero corrente. Lì A e B sono i proxy per il traffico internet e quindi una DMZ con un proxy per i cluster. Questo non è niente di reale solo dalla mia testa da qualche lettura quindi per favore non essere troppo duro ...