Bonjour,
actuellement nous gérons la répartition de charge sur les serveurs MySQL
en PHP, avec un preg_match sur la requête pour l'envoyer soit sur le
master, soit sur un slave pondéré.
Ca fonctionne bien, et le random sur la pondération répartit la charge
équitablement.
Mais quand je dois intervenir sur un serveur, je dois travailler avec
les développeurs pour supprimer temporairement un slave, puis l'ajouter
petit à petit lorsque j'ai terminé, le temps qu'il charge ses index en
mémoire...
J'aimerais gérer cette répartition de A à Z, et que ce soit fait plus
élégamment qu'un preg_match + random dans un tableau PHP ... C'est là
qu'intervient MySQL Proxy : avec son script rw-splitting.lua il est
sensé gérer tout ça.
Mais ce script est loin d'être complet, en plus je constate que la
majorité des requêtes de lecture (SELECT) vont sur le master... Sur son
site http://forge.mysql.com/wiki/MySQL_Proxy_RW_Splitting Jan précise
bien que /Yes, we know that RW-Splitting is not for production use yet,
it is a Proof of Concept./
Malgré tout j'aime l'idée, donc je me demandais si je pouvais avoir des
retours d'expériences sur MySQL Proxy et particulièrement sur ce script
lua !
Et si non, si vous connaissiez un système qui analyse les requêtes et
load-balance sur les slaves et le master de manière automatique. Il
faudrait que les développeurs n'aient qu'une IP par database et ce
système se charge du reste.
--
Greg
_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/