Jos haluat lisätä orjia MySQL-replikaatioasetuksiin aiheuttamatta suorituskykyongelmia, harkitse monikerroksisen replikaatioarkkitehtuurin omaksumista sen sijaan, että yhdistäisit kaikki orjat suoraan ensisijaiseen lähteeseen. Kun monet orjat muodostavat yhteyden suoraan yhteen lähteeseen, se lisää kyseisen lähteen kuormaa, koska jokainen orja ylläpitää yhteyttä ja lähde, joka tarvitsee lähettää binaarinen lokitiedot jokaiselle, josta voi tulla verkko ja suorituskykyinen pullonkaula. Sen sijaan konfiguroi replikaatio hierarkkisesti, kun ensisijainen lähde replikoituu yhteen tai muutamaan välituoteen, jotka sitten replikoivat muita orjia. Tämä menetelmä vähentää suorien yhteyksien lukumäärää ensisijaiseen ja jakaa replikaatiokuorman tasaisemmin palvelimien välillä.
Väliaikaiset kopiot on määritettävä kirjaamaan itse binaaripäivitykset (`log_slave_updates` -sovelluksella), jotta ne voivat toimia lähteen jäljennösten lähteinä. Tämä asennus luo tehokkaasti replikaatioketjun tai puun, joka voi parantaa merkittävästi suorituskykyä ja skaalautuvuutta.
Lisäksi replikaatiotilassa on tärkeä rooli suorituskyvyssä ja datan johdonmukaisuudessa. MySQL tukee asynkronisia ja osittain synkronisia replikaatiotiloja. Asynkroninen replikointi antaa ensisijaisen palvelimen edetä tapahtumien kanssa odottamatta orjia, parantamalla kirjoitusten läpimenoa, mutta mahdollisesti aiheuttaen replikaatioviivettä. Puoli-synkroninen replikointi varmistaa, että ainakin yksi orja tunnustaa kaupan ennen kuin ensisijainen sitoutuminen siihen tehdään, mikä parantaa datan johdonmukaisuutta pienellä viiveeseen. Säädä nämä asetukset sovelluksen johdonmukaisuus- ja viivevaatimusten mukaisesti.
Optimoidaksesi edelleen, viritä replikaatiolankoja orjissa. MySQL 5.6: sta eteenpäin tuetaan monisäikeistä replikaatiota, jolloin useat SQL-säikeet voivat käyttää rele lokitapahtumia rinnakkain. Tämä voi vähentää replikaatioviivettä, varsinkin kun työmäärä sisältää monia erilaisia tietokantoja tai taulukoita, jotka voidaan käsitellä itsenäisesti useilla säikeillä.
Levyn I/O -kokoonpano on myös ratkaisevan tärkeää: Aseta relilokit ja tietokantatiedostot erillisillä fyysisillä asemilla I/O -kiistan minimoimiseksi. Tämä voi auttaa orjia pysymään replikaatiovirran mukana tehokkaammin.
Suurissa ympäristöissä harkitse vastuun jakamista siirtämällä erilaisia tietokantoja tai taulukoita eri kopioille kuormituksen tasapainottamiseksi ja kiistanalaisten estämiseksi yhdellä kopiossa.
Kun lisäät uutta orjaa, on tärkeää tarjota se oikein:
- Määritä ainutlaatuinen `server_id` konfliktien välttämiseksi.
- Alusta orja napsahduksella tai varmuuskopioinnilla ensisijaisen tietojen varmistamiseksi varmistaaksesi, että se alkaa replikoida johdonmukaisesta pisteestä.
- Määritä orja lähteen yhteystiedot ja replikaatioasetukset.
-Käytä vaihtoehtoja, kuten `-SKIP-SLAVE-START` -alustamisen aikana, jotta replikaatio aloittaisi ennenaikaisesti.
- Aloita replikointi Kun asennus on valmis ja seuraa mitään viivettä tai virheitä.
Uusien orjien tietojen varmuuskopiointi ja palauttaminen voidaan tehdä käyttämällä työkaluja, kuten `mysqldump`, Percona Xtrabackup tai MySQL -kloonilaajennus koosta ja seisokkeiden toleranssista riippuen. XTRABACKUP -apuohjelma voi luoda kuumia varmuuskopioita lukitsematta lähdetietokantaa minimoimalla seisokit.
Synkronointia ja alkuperäistä kuorman tasapainottamista varten työkalut, kuten PT-taulukon sync
Yhteenvetona voidaan todeta, että tärkeimpiä strategioita, jotka lisäävät orjia ilman suorituskyvyn heikkenemistä, ovat:
- Käytä hierarkkista replikaatiotopologiaa välitutkinnoilla.
- Ota käyttöön `log_slave_update` välitutkinnoissa.
- Valitse asynkroniset ja osittain synkroniset replikaatiotavat johdonmukaisuuden ja viivetarpeiden perusteella.
- Palkkaa monisäikeistä replikaatiota orjoissa.
- Optimoi I/O erottamalla relelokit ja datatiedostot fyysisesti.
- Levitä replikaatiotyökuorma tietokannan tai taulukon erottelun perusteella.
- Varo uusia orjia huolellisesti yksilöllisillä palvelintunnuksilla ja tasaisilla tilannekuvalla.
- Käytä sopivia varmuuskopiointi- ja synkronointityökaluja alkuasetukseen.
- Seuraa jatkuvasti replikaatioviivettä ja suorituskykymittareita.
Tämä lähestymistapa auttaa ylläpitämään skaalautuvaa ja suoraavaa replikaatioarkkitehtuuria orjien lukumäärän kasvaessa, välttäen päälähteellä pullonkaulat ja varmistaen tehokkaan replikaation läpimenon.
Yksityiskohtaiset käytännön menettelyt tämän perustamiseksi ja hallintaan löytyy virallisesta MySQL -dokumentaatiosta ja kokeneista MySQL -palveluntarjoajista, jotka ovat erikoistuneet korkean saatavuuden ja replikaatioarkkitehtuurien kanssa.