Cluster mysql copia database

  • Creatore Discussione Creatore Discussione k-it
  • Data di inizio Data di inizio

k-it

Utente Attivo
14 Ott 2009
30
0
0
Salve,
vorrei creare un sistema con 3 pc dove su ognuno gira apache, php e mysql.
Ogni pc ha un database identico agli altri e vorrei che fossero sempre sincronizzati.
Come se avessi una copia del database per ogni pc.
In pratica se faccio una insert su un pc automaticamente deve essere fatta anche negli altri.
In modo che il sistema possa funzionare con tutti e tre i pc in contemporanea o anche con uno solo.
Se un pc si blocca al ripristino si deve riallineare con gli altri.

Ho visto mysql cluster che, se ho capito bene, dovrebbe fare questo ma se ci fosse qualcosa di più semplice e meno complicato.
Grazie tante!!
 
Nativamente non mi sembra che PHP supporti l'utilizzo in modalità cluster, puoi utilizzare questo framework: http://sourceforge.net/projects/phpcluster/
per configurare apache affinchè garantisca, in caso di downlink di un nodo, l'utilizzo dell'altro.

In generale, tuttavia, credo che il tuo problema vada afforntato un gradino più in basso,
se la tua esigenza è quella della congruenza dei dati non è necessario mettere in piedi un'architettura così complicata. Al contrario potresti avere un solo db e l'altro è una replica, aggiornata o di volta in volta o ad intervalli in modo automatico.
Per il webserver, invece, devi o appoggiarti all'architettura descritta sopra o invece tini up una sola interfaccia, se questa cade imposti l'altra.
In definita, cmq, io non ridonderei tutti i livelli allo stesso modo ma razionalizzerei in base alle tue reali e concrete esigenze.

Ciao, Ciro
 
Ad integrazione di quanto detto prima puoi anche utilizzare IBM WebSphere
http://publib.boulder.ibm.com/infoc...websphere.ops.doc/info/odoe_task/tmwsphp.html
abbinato ad Apache, in generale, però, come detto prima,per comprendere quale scelta fare dovestri dare maggiori informazioni sull'ambito , i requisiti e le specifiche.

Ciao, Ciro
Ciao
ti ringrazio per le risposte!
Io più che clusterizzare php mi serve di fare un cluster del database. Il server php posso farlo girare in locale su ognuno, il database deve essere lo stesso per tutti.
L'idee sono:
1) un computer come server e gli altri come client, ma se mi va giù il server mi si blocca tutto
2) L'ideale è avere la copia istantanea del database su ogni computer, ogni volta che faccio una insert su uno la ripeto negli altri, in modo che i 3 pc possono funzionare tutti insieme ma anche uno singolarmente. Quando faccio ripartire un pc spento all'avvio mi si riallinea con gli altri.
 
Ciao,

per realizzare quanto dici ci sono varie strade.

1) Realizzi tre insert azinchè uno (in modo da replicare i dati)

2) A specifici intervalli allinei i db

3) Prevedi un flusso che allinei i db di volta in volta.

La scelta dipende dal numero delle insert effettuate, dal carico applicativo a disposizione e dal tipo dell'applicazione.

Ciao, Ciro
 
Ciao,

per realizzare quanto dici ci sono varie strade.

1) Realizzi tre insert azinchè uno (in modo da replicare i dati)

2) A specifici intervalli allinei i db

3) Prevedi un flusso che allinei i db di volta in volta.

La scelta dipende dal numero delle insert effettuate, dal carico applicativo a disposizione e dal tipo dell'applicazione.

Ciao, Ciro

Ciao
1) se realizzo 3 insert e uno va giù mi va in errore
2) allineando i database ogni tanto devo fare un controllo sui doppioni
3) dovrei fare così ma è un po' complicatino

Pensandoci credo che la via di mantenere 3 database sincronizzati non è possibile perchè:
se un pc è in uso e gli altri due spenti, inserisco un dato con un campo auto incrementato, poi spengo quel pc e ne uso un altro, non essendo aggiornato mi registra il dato con lo stesso incremente dell'altro quindi andrebbero in conflitto quando li riallineo.
Credo non sia possibile mantenere una cosa del genere, penso di andare sulla strada di un unico server (più semplice) e mantenere una copia di riserva del database solo per sicurezza, ci vorrà solo più tempo per il ripristino in caso di problemi
Grazie!!
Ciao
 
Ciao, cmq nel primo caso, puoi gestire le insert in modalità transazionale ovvero o fai tutte e tre le insert o non ne fai nessuna oppure fai quelle possibili e loggi da qualche parte quelle non fatte in modo da poter recuperare dopo....

In generale devi valutare in base alle tue esgienze...

Ciao, Ciro
 

Discussioni simili