Kiváncsiságból tesztelem a replication-t.
Gyorsan felhúztam 2 Centos-t, ráraktam lampot, beállítottam, működik jól :)
Tapasztalatok érdekelnének, mire érdemes (kell) figyelni ebben a témában.
A teszt alatt minden patent, Wordpressel teszteltem:
-hozzászólás felvisz
-ahogy kiírja hogy hozzászólás felkerült offolom a mastert
-slaven ott a tartalom :)
idáig szép és jó, de sejtem hogy vannak buktatók ... :\
Akinek vannak gyakorlati tapasztalatai, ne tartsa magában plz. :)
Köszi előre is :)
- 5865 megtekintés
Hozzászólások
Nem vagyok expert, ezért is érdekelne:
Eddig azt hallottam, hogy MySQL-ből két gépen master-master replikációt lehet csak csinálni, master-slavehez több kell. Mivel keverem?
Master-master replikációnak vannak olyan buktatói, hogy AUTO_INCREMENT értékek nem elosztottan számolódnak, és meg kell piszkálni a konfigot, hogy az egyik gép pl. mindig csak páros a másik mindig csak páratlan ID-t generáljon. Master-slavenél ilyen nem áll fenn? Vagy a slaven keresztül lehet egyáltalán írni a db-t?
--
The Net is indeed vast and infinite...
http://gablog.eu
- A hozzászóláshoz be kell jelentkezni
Amit hallottál az mind hülyeség.
- A hozzászóláshoz be kell jelentkezni
M-S és S-S is megy szépen. Ez valami félreértés lehetett.
Az M-M esetében tényleg bele kell nyúlni a konfigba, hogy az auto increment ne produkáljon azonos értékeket két node-on. Viszont ez nem is bonyolult, és egy nagyon elegáns és olcsó mechanizmussal működik - ellentétben az "elosztott számolódással".
M-S-nél is bele lehet írni a slave adatbázisába is, de hiba volna. Nem arra való.
- A hozzászóláshoz be kell jelentkezni
Nincs értelme beleírni, mert nem kerül vissza a masterre.
- A hozzászóláshoz be kell jelentkezni
Mi most egy 7 szerverből álló gyűrűt üzemeltetünk (13-14 lesz a végén), tehát mindegyik master és slave is egyben. Alapvetően működik, de van egy két furcsaság:
- a temp táblákkal vigyázni kell, mert érdekes módon a tábla létrehozások nem mennek át a többi szerverre, de a rájuk kiadott update/insert/delete-ek igen. Na ettől megáll hibával a replikáció és kézzel kell továbblökni. Ha kitiltod a replikációból a temp táblákat, akkor jó, csak nagyon kell figyelni az alkalmazások verzióváltásainál, hogy az összes táblanevet beleírd a my.cnf-be.
- Bizonytalan, lassú összeköttetés esetén láttunk már olyat, hogy félig érkezett meg a slave-re az SQL parancs, amit az nem vett észre és megpróbálta végrehajtani. Eddig szerencsére mindig leállt hibaüzenettel mert nem volt értelmes a részlegesen átjött update. De mi van akkor, ha egy where-ből hiányzik néhány feltétel és értelmezhető a maradék? Na ettől azért rettegek.
- Az auto_increment értékeket ilyenkor nem egyesével adják a szerverek. Nálunk 20 a növekmény és mindegyik szerver más-más kezdőérték alapján adja, tehát az 1-es szerveren beszúrt rekord id-k mindig 1-re végződnek, a 2-es szerveren mindig 2-re, stb. Ez néha nagyon hasznos, amikor szoftver hibakereséskor meg kell állapítani egy adat származási helyét.
- Érdekes kérdés a db mentés is. Hol és mikor csinálhatod, hogyan állítod vissza, stb.
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Ha lekapcsolod a master-t mitől fog a wordpressed a slave-től kérdezni?
- A hozzászóláshoz be kell jelentkezni
mindkettőn ugyanaz a www tartalom van fennt.
(rsync-el teszteltem)
- A hozzászóláshoz be kell jelentkezni
bocs ezt nem értem. tehát a php-ba be van állítva az sql szerver. mitől fog a slavetől kérdezni, ha nem megy a master? vagy ez nem lett megoldva, ez csak egy játék volt ami a mysql-t tesztelte?
- A hozzászóláshoz be kell jelentkezni
így van, nem HA-t akartam tesztelni, csak MySQL replikációt, annak meg bőven elég annyi, x tartalmat kiolvasok valamivel, ezt lehetett volna egy 2 soros php scriptel is.
- A hozzászóláshoz be kell jelentkezni
Amugy borzaszto egyszeru:
fsockopen -el levizsgalod, megy -e a connect, majd valahol valami file -t letrehozol, ami ha letezik, akkor a slave -re kapcsolsz. Ket sql configot felveni meg ugye mar nem muveszet...
die(DIE_HARD);
- A hozzászóláshoz be kell jelentkezni
igen, megoldani nem bonyolult, csak éppen meglevő alkalmazásokat jó lenne egyszerűen áttenni ilyen rendszerre és az nem éppen a legegyszerűbb, hogy írjunk át egy meglevő kódot x helyen.
- A hozzászóláshoz be kell jelentkezni
+1
--
A legértékesebb idő a pillanat amelyben élsz.
http://phoenix-art.hanzo.hu/
https://sites.google.com/site/jupiter2005ster/
- A hozzászóláshoz be kell jelentkezni