Domanda

  1. La mia prima domanda è, ho spesso letto di persone che utilizzano più server dedicati per eseguire i loro siti web, e le query di processo degli utenti. Ma come fanno esattamente fare questo? Voglio dire, quando entro in un nome di dominio, un DNS risolve mappe che a un indirizzo IP, ma io sono perso dopo che .. c'è qualche tipo di architettura master / slave lì per bilanciare il carico richieste in arrivo tra le (potenzialmente) in centinaia di server?

  2. Se questo è il caso, come fare i vari server, la condivisione dei dati (database per esempio)? Saranno collegati allo stesso hard disk?

È stato utile?

Soluzione

Ultramonkey vi darà una buona descrizione di come bilanciare il carico su più server, in modo da vedi 1 indirizzo IP, ma la connessione viene instradato verso uno dei molti server (con tolleranza di errore incluso).

Se non si dispone di server Web che utilizzano lo stesso storage (archiviazione comune può essere difficile, è necessario utilizzare un SAN con un filesystem 'condiviso' come GFS , o di un database) allora è necessario attivarla sessioni appiccicoso che raccontano il router che ogni cliente sceglierà un server di comunicare con la prima volta, e mantenere con quel server. Questo è meno fault-tolerant (ma nel web che vi resta che aggiornare una connessione interrotta per ricominciare da capo), ma molto più facile da architetto (e più veloce come ogni server web può rimanere indipendente)

L'altra questione che avresti bisogno in una situazione davvero fault-tolerant è quello di individuare i server fisici lontani gli uni dagli altri, che solleva problemi di prestazioni per la maggior parte dei disegni di condivisione (cioè non è possibile mettere tutti i server su una SAN se 're in diversi paesi), è quello di utilizzare l'approccio più server, utilizzando un singolo nome DNS e replicare i dati tra di loro regolarmente. bilanciamento del carico DNS è forse il modo più semplice di utilizzare più server web come un unico sito web.

In questi casi, il DB può essere spesso un unico database che tutti i server comunicano con, o può essere se stessi condivise, con il clustering o più spesso di log-trasporto per assicurarsi di avere una copia di backup pronto a venire in linea dovrebbe primario fallire. Log-shipping è più comune per i server di backup che si trovano lontano.

Altri suggerimenti

1) È possibile utilizzare NLB (Network Load Balancing) - userà lo stesso IP per tutti i server della farm http://en.wikipedia.org/wiki/Network_Load_Balancing_Services http://technet.microsoft.com/en-us/library/cc759510. aspx

2) il clustering di SQL per il DB e un negozio di file comune per i dati non-relazione http://www.sql-server-performance.com/articles/ il clustering / clustering_intro_p1.aspx

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top