Domanda

Ho una domanda per i DBA là fuori: se passo da una singola configurazione di server web / DB a due configurazioni di server web / due DB con un bilanciamento del carico di fronte ai server Web per instradare le query in arrivo in modo uniforme ... come funzionano soluzioni come MySQL Cluster in modo tale che una modifica apportata a un server DB sia immediatamente nota all'altro (altrimenti, gli utenti indirizzati all'altro server DB non vedranno i dati o saranno obsoleti), o almeno in modo che il l'altro server web viene a conoscenza del fatto che sta leggendo "dati sporchi" e dovrebbe riprovare tra X secondi in modo da ottenere dati aggiornati?

Grazie.

È stato utile?

Soluzione

Nel clustering di server Windows (da distinguere dal clustering ad alte prestazioni), esiste un array di archiviazione esterno condiviso. Il nodo attivo assume la proprietà / il controllo dell'archiviazione e quando quel nodo fallisce, l'archiviazione "esegue il failover" sul nodo precedentemente passivo (che ora è il nodo attivo). Esistono anche diversi schemi che consentono l'archiviazione indipendente su ciascun nodo, rispetto all'archiviazione condivisa. Tuttavia, questi richiedono che l'applicazione disponga di informazioni sufficienti per sapere che è in cluster e mantenere sincronizzati i due set di archiviazione.

Altri suggerimenti

DUE modi per farlo. Attivo / attivo o attivo / passivo. Attivo / passivo è prevalente  I dati vengono mantenuti sincronizzati sul nodo passivo. Il cluster è utile nella configurazione in quanto il nodo attivo scende, il passivo viene immediatamente commutato quindi nessun tempo di inattività. Il clustering sincronizza continuamente i 2 nodi nel cluster.

Lavoro con SQL Server, ma penso che la premessa di base del clustering sia la stessa per mySQL: non ci sono (o non si notano tempi di inattività evidenti) in caso di guasto hardware.

EDIT: inoltre il software di clustering gestisce la sincronizzazione. Non devi preoccuparti. I nodi del cluster vengono visualizzati come una directory virtuale, che si comporta come un server in Windows.

ecco un documento che spiega questo

http://www.sql-server-performance.com /articles/clustering/clustering_intro_p1.aspx

Il clustering è anche il punto in cui un certo numero di nodi gestisce il carico di lavoro, a volte viene chiamato cluster attivo / attivo, ovvero tutti i nodi condividono il carico di lavoro e sono attivi. Questo è normalmente gestito da software specializzati come Oracle RAC ( RAC @ Wikipedia ) per il database Oracle RDBMS . RAC consente a Oracle di scalare a carichi di lavoro molto grandi.

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