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