PDA

Bekijk Volledige Versie : master to master mysql replication



vuwit
06/08/09, 11:41
Zijn er hier WHTers die MySQL5 master-to-master replication gebruiken?

Zullen ongetwijfeld veel mensen hier master-to-slave config's gebruiken voor bijv postfix mailtable's, pure-ftpd, etc, maar ik wil graag master-to-master replication verder inzetten om sites op meerdere fysieke andere locaties online te hebben en de databases in sync blijven.

Ik heb nu via http://www.howtoforge.com/mysql_master_master_replication aan de praat maar vroeg me af of er elegantere oplossingen zijn mbt auto_increment values die +1 en +2 moet zijn op verschillende hosts.

wonko
06/08/09, 12:41
wij hebben verschillende master-master opstellingen lopen, maar meestal werken wij met een read/write splitting proxy ervoor.

davhog
06/08/09, 13:41
Wij hebben een Master- Master draaien over twee locaties (Amsterdam/Enschede)
Zeer over te spreken, maar er zijn wel een aantal valkuilen:

- mysql accepteert heeeeel soms na het wegvallen van de verbinding geen verbindingen meer voor een minuut of 3. Heb dit er nog niet uit gekregen.
- Je moet i.d.d. iets verzinnen voor de auto-increment velden. (wij hebben dit opgelost door er op applicatie niveau voor te zorgen dat er nooit op twee servers tegelijk gewerkt kan worden, de opstellingen is dan ook bedoeld voor failover)
- backups terugzetten mag enkel via SQL en nooit de databestanden terug kopiƫren (het is SQL replicatie namelijk)

vuwit
06/08/09, 13:54
De applicatie zit redelijk OO in elkaar echter zijn er scenarios te bedenken dat de database middels constraints en/of replication netjes de increments moet afvangen.

De proxy oplossing met mysql proxy is nog wel een suggestie maar liefst stel ik het als volgt op:


appserver01 site <> mysql lokaal:
bla.nl
bla.be
bla.net

appserver02 site <> mysql lokaal:
bla.com
bla.info
bla.nu


De beide mysql's moeten de boel met elkaar in sync houden. gaat om +/- 800 Q/sec per server, waarbij de writes (increments) ongeveer 40 p/s is. Beide appservers delen dezelfde code-base.

vuwit
06/08/09, 14:47
wij hebben verschillende master-master opstellingen lopen, maar meestal werken wij met een read/write splitting proxy ervoor.

Is dat iets wat lijkt op: http://agiletesting.blogspot.com/2009/04/mysql-load-balancing-and-read-write.html ?

wonko
06/08/09, 16:58
dat is met het programma "mysql-proxy" en de correcte lua-scripts geladen. Zie de site van mysql-proxy daarvoor.

Bij terugzetten van data moet je gewoon goed weten hoe heel de boel werkt, en dan kan je prima datafiles overzetten.

PreServer
22/10/09, 11:12
dat is met het programma "mysql-proxy" en de correcte lua-scripts geladen. Zie de site van mysql-proxy daarvoor.

Bij terugzetten van data moet je gewoon goed weten hoe heel de boel werkt, en dan kan je prima datafiles overzetten.

Heb je ooit het performance verschil gemeten van mysql-proxy? zo niet wat zegt je gevoel er dan over? :)