MySQL cluster felállítása HOWTO-szerűség

Címkék

Szükséged van egy olyan felállásra, hogy a load-balancer mögött két SQL szerver szolgáltatja az adatokat, és ha az egyik lehal, attól még a szolgáltatás életben marad? És mindezt MySQL-lel szeretnéd megvalósítani? Mit szólnál egy redundáns MySQL telepítéshez?Alex Davies ütött össze a témában egy HOWTO-szerűséget. A redundáns MySQL konfigurációhoz két MySQL és egy menedzsment / konzol szerverre van szükség. A telepítése és beállítása nem kíván különösebben nagy melót.

A leírást itt találod.

Hozzászólások

A multkor a MySQL-t hasonlitgattuk a PostgreSQL-hez. Az erdekelne, hogy a PgSQL tud-e valami ilyesmit, es ha igen, akkor milyen szinten, es mennyire nehez megcsinalni?

Használjatok Java alapú adatbázis kezelést, és tetszőleges adatbázis szervert clasterbe (failover, load balancer) tudtok szervezni :)

tud

http://pgcluster.projects.postgresql.org/

Csak 'tfutottam, sytem nem bonyibb, mint a mysql.



PGCluster is the synchronous replication system of the multi-master composition for PostgreSQL .

PGCluster is the replication system of the query base using PostgreSQL.

- Since a replication system is a synchronous replication, delay does not occur with the data duplicate between the Cluster DBs.

- Since a server is multi-master composition, two or more the Cluster DBs can receive access from a user simultaneously.

PGCluster consists of three kinds of servers, a load balancer, Cluster DB, and a replication server.

Nagyából elolvastam a fent linkelt cikkekt de van ami nem világos,

Elméleti kérdés: Mi az load balancer és hogy működik? (annyit azért tudok, hogy terhelés elosztó)

Gyakorlati kérdés: Baráti alapon épp egy nagyon egyszerű kis iratkezelő progit irok php-vel apache-val és természetesen mysql-lel. Elsőkörben biztos hogy standalone megoldás lesz semmi komplikáció csak müködjön, valalmi olcsón összerakott de minőségi desktop vason. De érdekelne hogy, Mi kell ahhoz hogy rendundássá tehessem a megoldásttehát nem csak az adatbázis kezelőt hanem a teljes megoldást phps-tul apache-stúl mindenestűl?

Köszi mindenkinek a válaszokat.

Annyit gyorsan: a round robin DNS-nel egy hosthoz, pl. sql.foo.hu-hoz bejegyzel ket IP cimet, 10.0.0.1, es 10.0.0.2, akkor az elso DNS feloldasnal az sql.foo.hu 10.0.0.1 lesz, a masodiknal pedig 10.0.0.2. Ezzel biztosithatod, hogy a ket szerver kozt a terheles valamilyen modon eloszlodjon. Persze ez egy nagyon primitiv, ellenben mukodo megoldas lehet eleg sok helyen, de vannak gyengesegei. Kaphatok viszont penzert olyan celberendezesek, amelyek tudjak azt is, amit az RR DNS nem, igy sokan inkabb aldoznak ra zsetont.

Ez eddig világos, nagyából igy képzeltem el a működését.

De hogy lesz ettől fale-safe az apache-php? Ezen logika szerint azt: külön a cluster mindkét elemére fel kell rakni? Esetleg egy 3-4. gépen van az apache/php ami valami hasonló módon van fürtbe? Köszi a segítséget.

Ahany node-od van, annyi MySQL, Apache, PHP. Ez a legegyszerubb es a legprimitivebb, ami eszembe jut. A node-ok kozott a load-balancer osztja el a terhelest. A MySQL-ek ossze vannak szinkronizalva. Ahogy latod a cikkben, minimum 3 szerverre lesz szukseged a teljes redundanciahoz, mert kell egy menedzsment / kontroll szerver is, ami monitorozza a ket MySQL szervert, es koveti a valtozasokat oda-vissza. A load balance-bol adodo sajatossagokat (pl. session kezeles, vagy ilyesmi), azt neked kell megoldani valami modon. Jo kiindulopont lehet a Slashdot felepitesenek tanulmanyozasa. Ok leirtak, hogy hogyan oldottak meg, milyen buktatoi vannak, stb.

Ha RR DNS-t alkalmazol, akkor figyelembe kell venni annak gyengesegeit, pl. hogy rosszul osztja a terhelest, a doglott gepek IP cimeit ki kell piszkalni a DNS-bol, mert azt nem kezeli le, ehhez alacsony TTL kell, ami nem biztos, hogy szerencses, az SSL-lel gondok lehetnek, stb. Lehet, hogy megeri beruhazni egy eszkozbe, ahol az ilyen gondok meg vannak oldva.

Gyebnár Ferenc wrote:

>
> hunge wrote:
>
>>
>> Ne haragudj de mit is akartál mondani? ;-)
>>
>> A kötöszavakból sejtem, hogy magyarul van, de mivel nem ismerem a
>> load-balanceing témakört ezért sajnos nem értelek.
>
> :)
> A pf az OpenBSD csomagszuroje.
>
> --
Ja, es a rdr Ezzel lehet egy bizonyos helyre erkezo forgalmat transzperensen mashova
kuldeni.
Az rrd pedig round robin daemon akar lenni?
Ha nem, javitsatok ki.
--