Hi ,
Here the situation :
Many of us , are using MYSQL in Web production , and in this
case we have many
loadbalancing systems (Hardware like Alteon or foundry or
software like LVS , and hybrid like BigIP) so we can say that if you want an
failsafe and scalable WEB cluster it not a problem any more .
But can we say the same about our databases ?
Here things are more complicated because even if you use an
replication sheme , you cannot say that it is fail safe , because :
1) If the master die : Your updates are in
/dev/null
2) If one of slaves die : You have to update your progs to use
an other slave
3) If you use an Mod_perl enabled cluster you have to update
your scripts and restart your dyns to make the whole thing work (this is only in
a very wired setup)
So we can safe that it is a real pain in the ass
...
The purpose of MyFCP is :
1)Write a set of perl scripts witch allows an automatic master
election in case of the master death or slave death .
2)Write an SQL wrapper to allow an mod_perl (or modcgi)
cluster acces the database ,
this wrapper will make the difference between SELECT and
UPDATE requests
and for the SELECT requests it will send them to the right
ACTIVE SLAVE.
so ti whill have some hash like this :
updates--->master
# this is for the updates
dynperl1--->sqlslave1
dynperl2--->sqlslave2
dynperl3--->sqlslave3
so if the deamon detect than sqlslave1 is dead , he update
this list so it becomes :
dynperl1--->sqlslave2
dynperl2--->sqlslave2
dynperl3--->sqlslave3
3)Add an backup system
Any sugestions are very welcome .
Very best
CB
|