Installazione di MySQL per il failover del sito remoto

3

Sto progettando un sistema di gestione dell'inventario e del flusso di lavoro personalizzato basato sul web per un mio cliente. Uno dei loro siti remoti ha un accesso a internet abbastanza abbozzato e non deve avere (o molto poco) interruzione dell'attività quando la loro connessione con l'universo va giù.

Sto immaginando una sorta di installazione locale dell'app Web con la replica MySQL mantenendo aggiornato il DB locale. Quando la loro connessione fuori dall'edificio fallisce, possono passare manualmente all'URL locale, che è configurato per colpire il loro MySQL locale, e rimangono in attività.

La domanda è, replicando quelle modifiche al vero padrone. Conosco una replica master-master, ma riusciremo a sincronizzare realmente le tabelle divergenti quando la connessione verrà ripristinata?

È di aiuto che il caso d'uso del sito remoto sia abbastanza unico, ed è probabile (anche se non garantito) scrivere solo sulle tabelle relative alla propria area di attività. Potrei forse limitare l'applicazione locale "modalità di failover" solo a quei pezzi dell'app che sono unici per la loro posizione, il che sarebbe sufficiente per tenerli in attività.

Come ti avvicineresti a questo?

    
posta Dan Ray 29.01.2013 - 17:54
fonte

1 risposta

3

Probabilmente installerei una replica multi-master e il sito remoto verrà sempre eseguito localmente. In questo modo non c'è un failover da gestire, gli utenti non si confonderanno mai e avrai migliorato la loro latenza. Assicurati che il tuo sistema conservi i log di replica molto più a lungo di quanto il sistema non possa mai disconnettere. Inoltre, sono disponibili sistemi e processi per monitorare lo stato.

Un'altra opzione è quella di far eseguire localmente il sito remoto su un database indipendente e disporre di un proprio processo per sincronizzare i dati. Poiché il tuo sistema è personalizzato, è più efficiente ma anche più snello e in grado di gestire dinamicamente qualsiasi situazione (ad esempio conflitti logici nei dati). Questa soluzione sarebbe effettivamente necessaria se i dati sincronizzati necessitano di controlli logici. Probabilmente starai meglio usando GUID per gli ID o il tuo sistema per evitare i conflitti delle chiavi primarie .

    
risposta data 29.01.2013 - 18:08
fonte

Leggi altre domande sui tag