[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Cluster MySQL



Franck a écrit :

>>>Hello la liste,
>>>      
>>>
>>Salut,
>>
>>    
>>
>>>je suis à la recherche de docs/URL/retours d'expérience sur une solution
>>>de cluster MySQL.
>>>
>>>Mes besoins :
>>>=============
>>>J'ai 2 serveurs Linux avec MySQL.
>>>
>>>Je souhaite que les 2 serveurs répondent en lecture mais que 1 seulement
>>>réponde en écriture/update et que, bien sur, les données soient
>>>répliquées
>>>sur le serveur qui ne fait que de la lecture.
>>>
>>>Mes explications sont-elles claires ?
>>>Est ce faisable ?
>>>      
>>>
>>Bien sur.
>>Il suffit de mettre en place une réplication MySQL entre tes deux
>>machines.
>>Ensuite, tu fais les lectures sur les deux (fait ta répartition au
>>niveau logiciel) et tes écritures sur l'une des machines uniquement.
>>
>>Pour la mise en place de la réplication,
>>http://www.nexen.net/mysql/replication.php
>>
>>Ce type de solution fonctionne très bien.
>>    
>>
>
>Merci j'ai lu attentivement ce lien. J'utilise déjà cette méthode pour
>répliquer un master sur un slave mais j'utilise heartbeat pour démarrer le
>slave si le master tombe.
>
>Or, dans ton URL, je n'ai pas vu d'explication quant à l'écriture sur 1
>seul serveur et la lecture sur plusieurs ?
>Mais peut-etre que le Master lit et écrit tandis que le slave ne fait que
>lire et renvoit les requetes vers le master ? Mais j'en doute car on parle
>de réplication unidirectionnelle dans cette doc :(
>  
>
Dans la FAQ, il y a les grandes lignes d'une solution. Ca passe par un
recodage des applications pour distinguer le serveur qui effectue les
requetes en ecriture (le maitre) et les serveurs qui repondent aux
requetes en lecture (le maitre et les esclaves ou seulement les
esclaves). Une fois le recodage effectué, le plus simple pour repartir
la charge de lecture, c'est d'utiliser le DNS: tu definis une adresse
serveur-maitre qui pointe uniquement vers le serveur maitre et une
adresse serveur-esclave qui pointe vers tous les esclaves (et le maitre
si la charge en ecriture le permet), le système DNS se charge alors de
faire pointé l'adresse serveur-esclave sur les clients vers les
differents serveurs esclaves.

A+

>Merci pour cette doc, ça m'a rapellé 2-3 trucs que j'avais oublié.
>
>PS : je pense utiliser keepalived pour définir une IP virtuelle qui sera
>"attaquable" depuis un apache mais qui déservira 2 IP physique (master et
>slave MySQL).
>
>Franck
>  
>



Reply to: