Esempi multipli di un sito web su un singolo server – aggiornamento uno alla volta

Vorrei ospitare una singola macchina fisica due copie dello stesso sito stesso per ridurre al minimo i tempi di inattività durante gli aggiornamenti .

Penso di poter mettere un bilanciatore di carico davanti alla macchina, assegnare due IP a questa macchina e impostare gli IP nel bilanciatore di carico.

Il problema è quando ho bisogno di aggiornare il sito (il suo codice non l'infrastruttura). Credo di poter ridurre al minimo i tempi di inattività eliminando una delle 'istanze' del sito, aggiornandola poi riportndola online e facendo lo stesso con l'altra.

È ansible?

È valsa la pena?

2 Solutions collect form web for “Esempi multipli di un sito web su un singolo server – aggiornamento uno alla volta”

Certo, questo è quello che facciamo. Abbiamo due server Web, A e B. Abbiamo un'atropia seduta davanti a loro, whereroso equilibrare le richieste tra loro. Come te, non memorizziamo i dati della session in modo che una richiesta debba tornare al suo server di origine.

Quando vogliamo fare un aggiornamento, prendiamo Server A fuori dalla piscina. Effettuiamo l'aggiornamento e verifichiamo il sito internamente. Poi mettiamo il server A nel pool e nello stesso momento eseguiamo il server B dalla piscina. Aggiorniamo quindi Server B e lo riponiamo.

Upside: Aggiornamenti del sito con 0 tempi di inattività.

Disagio: durante l'aggiornamento non si ha alcun bilanciamento del carico o ridondanza. Per risolvere questo problema bisogna avere molti più server nel mix.

Per quanto riguarda il fatto che ne vale la pena, solo tu puoi rispondere. Il nostro software è incredibilmente complesso e un dispiegamento può richiedere fino a 5 minuti (e questo è completamente automatizzato) ed è in uso praticamente 24/7. Quindi non era un brainer per noi.

Se il tuo sito ha solo traffico sporadicamente per tutto il giorno, o per lo più durante il tempo di dire, ore di lavoro e non stai spingendo le barriere di ciò che un singolo server web può gestire, potrebbe non valere la pena. Lanciare un banner di manutenzione per 10 secondi mentre le svn export potrebbero essere una soluzione più appropriata.

Date un'occhiata a WebFarmFramework & ARR. WFF automatizzerà l'implementazione del codice e delle impostazioni IIS per te. Inoltre, se si utilizza il bilanciatore di carico, i nodes vengono eseguiti in modalità offline per l'aggiornamento.

In realtà sto cercando lo stesso problema adesso, così non posso garantire per questo nella produzione, un'altra idea da guardare.

Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.