Wrapper para dbapi2

Pepe Aracil pepe en diselpro.com
Jue Jul 27 01:48:21 CEST 2006


Hola lista.

Tengo que montar un sistema de réplica en Mysql de un solo sentido, es
decir si del servidor A es el maestro y los servidores B y C son esclavos,
todas las modificaciones (INSERT,DELETE,UPDATE,GRANT,...) que se hagan en
el servidor A se replicaran en los servidores B y C, pero no a la inversa.

La idea es adaptar ana aplicación CGI que utiliza DBAPI2 de forma que haga
un roundrobin con todos los servidores (A,B,C) para las sentencias de 
consulta,
pero que solo utilice el servidor A para las operaciones de escritura.

Una idea era utilizar SQLRelay, pero no encuentro la forma para que las 
escrituras
se las envíe a un solo servidor mientras que haga roundrobin en las 
lecturas.

La otra opción es hacer un wrapper de la dbapi2 de forma que sea 
transparente
para la aplicación tanto el rounddobin como la escritura forzada en el 
servidor A.
La idea es analizar la cadena que se le pasa al "execute" y si es un 
select se va a un
host (al que le toque el turno) y si es una operación de escritura se va 
al host A.

¿Alguien se ha encontrado en esta misma situación?


Gracias.

Mas info sobre la replicación en MySQL:

http://dev.mysql.com/doc/refman/5.0/en/replication.html




Más información sobre la lista de distribución Python-es