Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kaip galiu pridėti daugiau vergų prie savo „MySQL“ replikacijos sąrankos, nesukeldamas našumo problemų


Kaip galiu pridėti daugiau vergų prie savo „MySQL“ replikacijos sąrankos, nesukeldamas našumo problemų


Norėdami pridėti daugiau vergų prie „MySQL“ replikacijos sąrankos, nesukeldami našumo problemų, apsvarstykite galimybę priimti daugiasluoksnę replikacijos architektūrą, o ne sujungti visus vergus tiesiai prie pirminio šaltinio. Kai daugelis vergų jungiasi tiesiai prie vieno šaltinio, jis padidina to šaltinio apkrovą dėl kiekvieno vergo, palaikančio ryšį, ir šaltiniui, kuriam reikia išsiųsti dvejetainius žurnalo duomenis kiekvienam, o tai gali tapti tinklo ir našumo kliūtimi. Vietoj to, sukonfigūruokite replikacijos hierarchiškai, turėdami pirminį šaltinį atkartoję vieną ar keletą tarpinių replikų, kurios vėliau atkartoja likusiems vergams. Šis metodas sumažina tiesioginių jungčių skaičių prie pirminio ir paskirsto replikacijos apkrovą tolygiau per serverius.

Tarpinės kopijos turi būti sukonfigūruotos taip, kad patys prisijungtų prie dvejetainių atnaujinimų (įjungus „log_slave_updates“), todėl jos gali būti naudojamos kaip pasroviui esančių replikų šaltiniai. Ši sąranka efektyviai sukuria replikacijos grandinę ar medį, kuri gali žymiai pagerinti našumą ir mastelį.

Be to, replikacijos režimas vaidina svarbų vaidmenį veikiant ir duomenų nuoseklumui. „MySQL“ palaiko asinchroninius ir pusiau sinchroninius replikacijos režimus. Asinchroninis replikacija leidžia pirminiam serveriui vykdyti operacijas nelaukdamas vergų, pagerindamas rašymo pralaidumą, bet galbūt sukeldamas replikacijos atsilikimą. Pusiau sinchroninis replikacija užtikrina, kad bent vienas vergas pripažįsta sandorį prieš pradedant ją įvykdyti, padidindamas duomenų nuoseklumą už nedidelę kainą. Sureguliuokite šiuos nustatymus pagal programos nuoseklumo ir latencijos reikalavimus.

Norėdami toliau optimizuoti, sureguliuokite vergų replikacijos gijas. Nuo „MySQL 5.6“ palaikoma daugiapakopė replikacija, leidžianti keliems SQL gijos lygiagrečiai pritaikyti relės žurnalo įvykius. Tai gali sumažinti replikacijos atsilikimą, ypač kai darbo krūvis apima daugybę skirtingų duomenų bazių ar lentelių, kurias galima savarankiškai apdoroti keliais gijos.

Disko I/O konfigūracija taip pat yra labai svarbi: Padėkite relės žurnalus ir duomenų bazių failus atskiruose fiziniuose diskuose, kad būtų sumažintas I/O ginčas. Tai gali padėti vergams efektyviau neatsilikti nuo replikacijos srauto.

Didelėje aplinkoje apsvarstykite galimybę padalinti atsakomybę deleguodami įvairias duomenų bazes ar lenteles į skirtingas kopijas, kad būtų subalansuota apkrova ir užkirsti kelią ginčui dėl bet kurios atskiros replikos.

Pridėjus naują vergą, svarbu teisingai jį aprūpinti:

- Norėdami išvengti konfliktų, priskirkite unikalų „server_id“.
- Pradėkite vergą su momentine nuotrauka arba pradinių duomenų atsarginė kopija, kad įsitikintumėte, jog jis pradeda atkartoti iš nuoseklaus taško.
- Konfigūruokite vergą naudodami šaltinio ryšio išsamią informaciją ir replikacijos parametrus.
-Naudokite parinktis, tokias kaip „-slidinėti-slide-start“ inicijavimo metu, kad replikacija neuždengtų per anksti.
- Pradėkite replikaciją, kai bus baigta sąranka, ir stebėkite bet kokį atsilikimą ar klaidas.

Duomenų apie naujus vergus atkūrimą ir atkūrimą galima atlikti naudojant tokius įrankius kaip „MySQLDump“, „Percona XTRABACKUP“ ar „MySQL Clone“ papildinys, atsižvelgiant į dydį ir prastovos toleranciją. „XTRABACKUP“ programa gali sukurti karštas atsargines kopijas neužrakinant šaltinio duomenų bazės, sumažinant prastovą.

Sinchronizavimui ir pradiniam apkrovos balansavimui, tokios kaip „PT-Table-Sync“ įrankiai gali padėti užtikrinti duomenų nuoseklumą tarp pagrindinio ir vergo po restauravimo.

Apibendrinant galima pasakyti, kad pagrindinės strategijos, kaip pridėti daugiau vergų, be veiklos blogėjimo, apima:

- Naudokite hierarchinę replikacijos topologiją su tarpinėmis replikomis.
- Įgalinkite „log_slave_updates“ tarpinėse kopijose.
- Pasirinkite tarp asinchroninių ir pusiau sinchroninių replikacijos režimų, pagrįstų nuoseklumu ir latencijos poreikiais.
- Verguose naudokite daugialypį replikaciją.
- Optimizuokite I/O, atskirdami relės žurnalus ir duomenų failus fiziškai.
- Paskirstykite replikacijos darbo krūvį duomenų bazėje arba lentelės segregacijoje.
- Atidžiai pateikite naujus vergus su unikaliais serverio ID ir nuosekliais momentinėmis nuotraukomis.
- Pradiniam sąrankai naudokite tinkamas atsarginės kopijos ir sinchronizavimo įrankius.
- Nuolat stebėkite replikacijos atsilikimo ir našumo metriką.

Šis metodas padeda išlaikyti keičiamą ir atliktą replikacijos architektūrą, nes auga vergų skaičius, išvengdamas pirminio šaltinio kliūčių ir užtikrinant efektyvų replikacijos pralaidumą.

Išsamias praktines procedūras, leidžiančias tai nustatyti ir valdyti, galima rasti oficialiose „MySQL“ dokumentacijose ir patyrusiuose „MySQL“ paslaugų teikėjuose, kurie specializuojasi aukšto prieinamumo ir replikacijos architektūroje.