{"id":82113,"date":"2020-05-19T13:42:51","date_gmt":"2020-05-19T11:42:51","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/orchestrator-i-vip-kak-ha-reshenie-dlya-klastera-mysql"},"modified":"2020-05-19T13:42:51","modified_gmt":"2020-05-19T11:42:51","slug":"orchestrator-i-vip-kak-ha-reshenie-dlya-klastera-mysql","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/orchestrator-i-vip-kak-ha-reshenie-dlya-klastera-mysql","title":{"rendered":"Orchestrator ja VIP kui HA-lahendus MySQL klastrile","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>SITIMOBILis kasutame MySQL andmebaasi peamise p\u00fcsivaremedin\u00e4iteks. Meil on mitu andmebaasi klastri erinevate teenuste ja eesm\u00e4rkide jaoks.<\/p>\n<p>Meisteri pidev k\u00e4ttesaadavus on kogu s\u00fcsteemi ja selle \u00fcksikute osade t\u00f6\u00f6v\u00f5imekuse kriitiline n\u00e4itaja. Meistri rikke korral automaatne klasteri taastamine v\u00e4hendab oluliselt reageerimisaega ja s\u00fcsteemi katkestusaega. Selles artiklis k\u00e4sitlen MySQL klastri k\u00f5rge k\u00e4ttesaadavuse (HA) tagamise skeemi, mis p\u00f5hineb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/github\/orchestrator\">MySQL Orchestrator<\/a><\/noindex> ja virtuaalsetel IP-aadressidel (VIP).<\/p>\n<p><img decoding=\"async\" alt=\"Orchestrator ja VIP kui HA-lahendus MySQL klastrile\" src=\"\/wp-content\/uploads\/2020\/05\/a76ef93caee0fc13d2afb12c25a25531.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h1>VIP-p\u00f5hine HA-lahendus<\/h1>\n<p>\nAlustuseks r\u00e4\u00e4gin l\u00fchidalt meie andmehoidmise s\u00fcsteemi olemusest.<\/p>\n<p>Kasutame klassikalist replikatsiooni, kus \u00fcks master on kirjutamis\u00f5igustega ja palju replikate, mis on ainult lugemiseks. Kluster v\u00f5ib sisaldada vahepealset masterit - s\u00f5lme, mis on samal ajal nii replikata kui ka teiste master. Kliendid suunavad replikatele l\u00e4bi HAProxy, mis v\u00f5imaldab koormuse \u00fchtlast jaotamist ning lihtsat skaleerimist. HAProxy kasutamine tuleneb ajaloolistest p\u00f5hjustest ning praegu oleme ProxSQL-ile \u00fcleminekul.<\/p>\n<p>Replikatsioon toimub pool-s\u00fcnkroonsetes tingimustes, mis p\u00f5hinevad <code>GTID<\/code>. See t\u00e4hendab, et v\u00e4hemalt \u00fcks replik peab kogu kirjutama tehingu logisse, enne kui see tunnustatakse \u00f5nnestunuks. Selline replikatsiooni re\u017eiim tagab optimaalse tasakaalu j\u00f5udluse ja andmete s\u00e4ilitamise vahel peamise s\u00f5lme rikke korral. Enamik muudatusi edastatakse masterilt replikatele <code>Row Based Replication (RBR)<\/code>, kuid osa s\u00f5lmi v\u00f5ib kasutada <code>mixed binlog format<\/code>.<\/p>\n<p>Orkestrator uuendab aeg-ajalt klastrite topoloogia olekut, anal\u00fc\u00fcsib saadud teavet ja v\u00f5ib probleemide korral alustada automaatse taastumise protseduuri. Taastumise eest vastutab arendaja, kuna selle rakendamine v\u00f5ib toimuda erinevatel viisidel: VIP, DNS, teenuste avastamise teenuste (service discovery) v\u00f5i kohandatud mehhanismide p\u00f5hjal. <\/p>\n<p>\u00dcks lihtsamaid meetodeid meistri taastamiseks tema rikke korral on kasutada ujukiva VIP-aadresse.<\/p>\n<p>Mida on vaja selles lahenduses teada, enne kui edasi liikuda:<\/p>\n<ul>\n<li>VIP on IP-aadress, mis ei ole seotud konkreetse f\u00fc\u00fcsilise v\u00f5rgu liidesega. Kui s\u00f5lm rikki l\u00e4heb v\u00f5i plaaniliste t\u00f6\u00f6de ajal, saame VIP samadust teisele ressursile minimaalse seisakuga \u00fcle kanda.\n<\/li>\n<li>V\u00f5rgu IP-aadressi vabastamine ja v\u00e4ljastamine on odavad ja kiired toimingud.\n<\/li>\n<li>VIP kasutamiseks on vajalik juurdep\u00e4\u00e4s serverile SSH kaudu v\u00f5i spetsiaalsete utiliitide kasutamine, n\u00e4iteks <code>keepalived<\/code>.\n<\/li>\n<\/ul>\n<p>\nVaatame meie meistri v\u00f5imalikke probleeme ja kirjeldame, kuidas automaatse taastumise mehhanism peaks toimima.<\/p>\n<h4>\u00dchenduvus peav\u00f5rku on kadunud v\u00f5i on tekkinud riistvaraline probleem ning server ei ole k\u00e4ttesaadav.<\/h4>\n<p><\/p>\n<ol>\n<li>Orkestrator uuendab klastritopoloogiat, iga replikatsioon teatab peav\u00f5rgu k\u00e4ttesaamatuks. Orkestrator k\u00e4ivitab reklaampinna valimise protsessi, et leida sobiv replikatsioon uue peav\u00f5rgu rolli ning alustab taastamist.\n<\/li>\n<li>P\u00fc\u00fcame eemaldada VIP vanalt peav\u00f5rgult \u2014 eba\u00f5nnestunult.\n<\/li>\n<li>Replikatsioon l\u00fclitub peav\u00f5rguks. Topoloogia ehitatakse \u00fcmber.\n<\/li>\n<li>Lisame uue v\u00f5rgu liidese VIP-iga. Kuna VIP eemaldamine eba\u00f5nnestus, k\u00e4ivitame taustal perioodilise p\u00e4ringu saatmise. <b>gratuitous ARP<\/b>. See p\u00e4ringu\/vastuse t\u00fc\u00fcp v\u00f5imaldab v\u00e4rskendada \u00fchendatud l\u00fclitites IP- ja MAC-aadresside vastavustabelit, teavitades seel\u00e4bi meie VIP-i liikumisest. See v\u00e4hendab t\u00f5en\u00e4osust <code>split brain<\/code> vanema peav\u00f5rgu taastumise korral. \n<\/li>\n<li>K\u00f5ik uued \u00fchendused suunatakse kohe uuele peav\u00f5rgule. Vanad \u00fchendused l\u00f5petatakse eba\u00f5nnestunult, rakendustasandil tehakse uuesti p\u00e4ringud andmebaasi.\n<\/li>\n<\/ol>\n<p><\/p>\n<h4>Server t\u00f6\u00f6tab normaalses re\u017eiimis, andmebaasi tasandil on toimunud rike.<\/h4>\n<p>\nAlgoritm on sarnane eelneva juhtumiga: topoloogia uuendamine ja taastamisprotsessi k\u00e4ivitamine. Kuna server on saadaval, vabastame me edukalt VIP-i vanalt masterilt, liigume selle uuele ja saadame mitu ARP-p\u00e4ringut. V\u00f5imalik naasmine vana masteri juurde ei tohi m\u00f5jutada rekonstrueeritud klastrit ja rakenduse t\u00f6\u00f6d.<\/p>\n<h4>Teised probleemid<\/h4>\n<p>\nReplikate v\u00f5i vahepealsete masterite t\u00f5rge <em>ei p\u00f5hjusta<\/em> automaatseid toiminguid ja n\u00f5uab k\u00e4sitsi sekkumist.<\/p>\n<p>Virtuaalne v\u00f5rgu liides lisatakse alati ajutiselt, see t\u00e4hendab, et serveri taask\u00e4ivitamisel VIP ei m\u00e4\u00e4rata automaatselt. Iga andmebaasi instants alustab vaikimisi ainult lugemisre\u017eiimis, orkestreerija l\u00fclitab automaatselt uue masteri kirjutamisre\u017eiimi ja proovib seada <code>ainult lugemine<\/code> vana masteri juurde. Need toimingud on suunatud t\u00f5en\u00e4osuse v\u00e4hendamisele. <code>split brain<\/code>.<\/p>\n<p>Taastamisprotsessi k\u00e4igus v\u00f5ivad esineda probleemid, millest tasub samuti teavitada orkestreerija UI kaudu, lisaks standardsetele j\u00e4lgimisvahenditele. Oleme laiendanud REST API-d, lisades sellise v\u00f5imaluse (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/openark\/orchestrator\/pull\/1088\">PR<\/a><\/noindex> on praegu \u00fclevaatamisel).<\/p>\n<p>HA-lahenduse \u00fcldskeem on esitatud allpool.<\/p>\n<p><img decoding=\"async\" alt=\"Orchestrator ja VIP kui HA-lahendus MySQL klastrile\" src=\"\/wp-content\/uploads\/2020\/05\/485dbbc8f2b1a7595f5fa4f36ad92f7e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h1>Uue meistri valik<\/h1>\n<p>\nOrkestreerija on piisavalt nutikas ja p\u00fc\u00fcab valida <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/openark\/orchestrator\/blob\/5126b849ae4f655e1cbe0fbddfa0d7299674f712\/go\/inst\/instance_utils.go#L112\">k\u00f5ige sobivama repliika<\/a><\/noindex> uueks meistriks j\u00e4rgmiste kriteeriumide alusel:<\/p>\n<ul>\n<li>repliika mahaj\u00e4\u00e4mus meistri ees;\n<\/li>\n<li>MySQL meistri ja repliika versioon;\n<\/li>\n<li>replikatsiooni t\u00fc\u00fcp (RBR, SBR v\u00f5i segatud);\n<\/li>\n<li>asukoht \u00fches v\u00f5i erinevates andmesaalides;\n<\/li>\n<li>olemasolu <code>errant GTID<\/code> \u2014 tehingud, mis on repliikas t\u00e4idetud ja puuduvad meistris;\n<\/li>\n<li>arvesse v\u00f5etakse ka kasutaja valikureegleid.\n<\/li>\n<\/ul>\n<p>\nKuid iga repliika ei ole ideaalne kandidaat meistriks. N\u00e4iteks v\u00f5ib repliikat kasutada andmete varundamiseks v\u00f5i serveril v\u00f5ib olla n\u00f5rgem riistvara konfiguratsioon. Orkestreerija <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/openark\/orchestrator\/blob\/master\/docs\/topology-recovery.md#adding-promotion-rules\">toetab<\/a><\/noindex> k\u00e4si-reeglid, millega saab seadistada oma eelistusi kandidaadi valimiseks alates k\u00f5ige eelistatumast kuni ignoreeritavani.<\/p>\n<h1>Reageerimise ja taastumise aeg<\/h1>\n<p>\nJuhtumi korral on oluline minimeerida s\u00fcsteemi seiskumise aega, seet\u00f5ttu vaatame MySQL parameetreid, mis m\u00f5jutavad orkestreerija klastritopoloogia ehitamist ja uuendamist:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/dev.mysql.com\/doc\/refman\/5.7\/en\/replication-options-slave.html#sysvar_slave_net_timeout\"><code>slave_net_timeout<\/code><\/a><\/noindex> \u2014 sekunde, mille replikatsioon ootab uute andmete v\u00f5i s\u00fcdame signaalide vastuv\u00f5tmist meistrilt, enne kui \u00fchendus tunnistatakse kadunuks ja viiakse l\u00e4bi uuesti \u00fchendamine. Mida v\u00e4iksem v\u00e4\u00e4rtus, seda kiiremini suudab replikatsioon tuvastada, et \u00fchendus meistriga on katkenud. Seet\u00f5ttu seame selle v\u00e4\u00e4rtuse 5 sekundiks.\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/dev.mysql.com\/doc\/refman\/5.7\/en\/change-master-to.html\"><code>MASTER_CONNECT_RETRY<\/code><\/a><\/noindex> \u2014 sekundite arv, mis kulub uuesti \u00fchendamise katsete vahel. V\u00f5rguprobleemide korral v\u00f5imaldab madal v\u00e4\u00e4rtus kiiresti uuesti \u00fchendada ja takistada kaskaadi taastumisprotsessi k\u00e4ivitumist. Soovitatav v\u00e4\u00e4rtus on 1 sekund.\n<\/li>\n<li><code>MASTER_RETRY_COUNT<\/code> \u2014 maksimaalne uuesti \u00fchendamise katsete arv. \n<\/li>\n<li><code>MASTER_HEARTBEAT_PERIOD<\/code> \u2014 sekundi intervall, p\u00e4rast mida meister saadab s\u00fcdame signaali. Vaikimisi on see pool <code>slave_net_timeout<\/code>.\n<\/li>\n<\/ul>\n<p>\nOrkestratori seaded:<\/p>\n<ul>\n<li><code>DelayMasterPromotionIfSQLThreadNotUpToDate<\/code> \u2014 kui see on <code>true<\/code>, siis ei rakendata meistri rolli kandidaat-replikatsioonis enne, kui repliika SQL-voog on t\u00e4itnud k\u00f5ik rakendamata tehingud Relay Logist. Kasutame seda v\u00f5imalust, et v\u00e4ltida tehingute kaotamist k\u00f5ikide kandidaatreplika \u00fclej\u00e4\u00e4giga.\n<\/li>\n<li><code>InstancePollSeconds<\/code> \u2014 topoloogia koostamise ja uuendamise sagedus.\n<\/li>\n<li><code>RecoveryPollSeconds<\/code> \u2014 topoloogia anal\u00fc\u00fcsi sagedus. Probleemi tuvastamisel k\u00e4ivitatakse topoloogia taastamine. See<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/github\/orchestrator\/blob\/548265494b3107ca2581d6ccee059e062a759b77\/go\/config\/config.go#L45\"> on konstant<\/a><\/noindex>, mille v\u00e4\u00e4rtus on 1 sekund.\n<\/li>\n<\/ul>\n<p>\nIga klastris\u00f5lme k\u00fcsitletakse orkestratori poolt kord <code>InstancePollSeconds<\/code> sekundi jooksul. Probleemi tuvastamisel v\u00e4rskendatakse klastri olekut sundlikult<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/github\/orchestrator\/blob\/548265494b3107ca2581d6ccee059e062a759b77\/go\/logic\/topology_recovery.go#L1409\"> , seej\u00e4rel tehakse l\u00f5plik otsus taastamise teostamise kohta. Katsetades erinevate andmebaasi ja orkestratori parameetritega, suutsime reageerimise ja taastamise kestuse v\u00e4hendada 30 sekundi peale.<\/a><\/noindex>HA-skeemi testimine algas kohaliku<\/p>\n<h1>Teststand<\/h1>\n<p>\ntestimisseadmestiku arendamisest <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ParshinPavel\/mysql-ha-sandbox\">ja edasise rakendamisega test- ja tootmiskeskkondades. Kohalik seade on t\u00e4ielikult automatiseeritud Docker'i alusel ja v\u00f5imaldab eksperimenteerida orkestratori ja v\u00f5rgu konfigureerimisega, skaleerida klastrit 2-3 serverilt kuni mitme k\u00fcmnendini ja korraldada harjutusi turvalises keskkonnas.<\/a><\/noindex> Harjutuste k\u00e4igus valime \u00fche probleemide emuleerimise meetodi: masteri kohe eemaldamine <\/p>\n<p>, protsessi pehme l\u00f5petamine ja serveri peatamine ( <code>kill -9<\/code>docker-compose stop<code>docker-compose peata<\/code>), simuleerida v\u00f5rguprobleeme kasutades <code>iptables -j REJECT<\/code> v\u00f5i <code>iptables -j DROP<\/code>. Me ootame selliseid tulemusi:<\/p>\n<ul>\n<li>orkestrator tuvastab probleeme meistri ja v\u00e4rskendab topoloogiat mitte hiljem kui 10 sekundi jooksul;\n<\/li>\n<li>protseduur taastamine k\u00e4ivitatakse automaatselt: v\u00f5rgu konfiguratsioon muutub, meistri roll l\u00e4heb replikale, topoloogia rekonstrueeritakse;\n<\/li>\n<li>uus meister on kirjutamiseks saadaval, elavad replikad ei kao rekonstrueerimise k\u00e4igus;\n<\/li>\n<li>andmed hakkavad kirjutama uude meistrisse ja replikatsioon k\u00e4ivitub;\n<\/li>\n<li>kokkuv\u00f5ttes taastamise aeg on mitte rohkem kui 30 sekundit.\n<\/li>\n<\/ul>\n<p>\nNagu te teate, v\u00f5ib s\u00fcsteem k\u00e4ituda erinevalt test- ja tootmisringkondades erineva \u00abraha\u00bb ja v\u00f5rgu konfiguratsiooni t\u00f5ttu, samuti s\u00fcnteetilise ja reaalse koormuse erinevuste t\u00f5ttu jne. Seet\u00f5ttu korraldame perioodiliselt tegelikke harjutusi, kontrollides, kuidas s\u00fcsteem k\u00e4itub v\u00f5rgu\u00fchenduse kadumise v\u00f5i selle \u00fcksikute osade halvenemise korral. Tulevikus tahame luua t\u00e4ielikult identse infrastruktuuri m\u00f5lema keskkonna jaoks ja automatiseerida selle testimise.<\/p>\n<h1>J\u00e4reldused<\/h1>\n<p>\nAndmete salvestamise p\u00f5hisaidi toimivus on SRE ja haldusteamile \u00fcks peamisi \u00fclesandeid. Orkestri ja HA-lahenduse p\u00f5hjal VIP kasutuselev\u00f5tt on v\u00f5imaldanud saavutada j\u00e4rgmisi tulemusi:<\/p>\n<ul>\n<li>usaldusv\u00e4\u00e4rne DB klusteri topoloogia probleemide tuvastamine;\n<\/li>\n<li>automaatsed ja kiire reageerimine probleemide korral, mis on seotud masteriga, mis v\u00e4hendab s\u00fcsteemi seisakuaega.\n<\/li>\n<\/ul>\n<p>\nKuid lahendusel on oma piirangud ja puudused:<\/p>\n<ul>\n<li>HA-skeemi laiendamine mitmesse andmekeskusesse n\u00f5uab \u00fchtset L2-v\u00f5rku nende vahel;\n<\/li>\n<li>enne VIP m\u00e4\u00e4ramist uuele masterile peame selle vanalt vabastama. Protsess on j\u00e4rkj\u00e4rguline, mis pikendab taastumisaega;\n<\/li>\n<li>VIP vabastamine n\u00f5uab SSH-juurdep\u00e4\u00e4su serverile v\u00f5i m\u00f5nda muud kaugprotseduuride v\u00e4ljakutsumise meetodit. Kuna server v\u00f5i DB kogeb probleeme, mis k\u00e4ivitas taastamisprotsessi, ei saa me olla kindlad, et VIP-i eemaldamine \u00f5nnestub. See v\u00f5ib p\u00f5hjustada kahte serverit sama virtuaalse IP-aadressiga ja probleemid. <code>split brain<\/code>.\n<\/li>\n<\/ul>\n<p>\nProbleemide v\u00e4ltimiseks <code>split brain<\/code>, v\u00f5ib kasutada meetodit <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/STONITH\">STONITH<\/a><\/noindex> (\u00abTulista teist s\u00f5lme p\u00e4he\u00bb), mis isoleerib v\u00f5i keelab probleemse s\u00f5lme. On ka teisi viise klastrite k\u00f5rge k\u00e4ttesaadavuse rakendamiseks: VIP ja DNS kombinatsioon, teenuste avastamine ja puhverserverite teenused, s\u00fcnkroonne replikatsioon ja muud meetodid, milles on oma eelised ja puudused.<\/p>\n<p>R\u00e4\u00e4kisin meie l\u00e4henemisest MySQLi veakindla klastrite loomisele. See on lihtne rakendada ja tagab aktsepteeritava usaldusv\u00e4\u00e4rsuse taseme praegustes tingimustes. Kogu s\u00fcsteemi ja p\u00f5hiv\u00f5rgu arenedes muutub see l\u00e4henemine kindlasti.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/citymobil\/blog\/491044\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0421\u0438\u0442\u0438\u043c\u043e\u0431\u0438\u043b \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 MySQL \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0434 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u0446\u0435\u043b\u0438. \u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0435\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439. \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0442\u043a\u0430\u0437\u0430 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u0432\u0440\u0435\u043c\u044f \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442 \u0438 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":82114,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-82113","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u0421\u0438\u0442\u0438\u043c\u043e\u0431\u0438\u043b \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 MySQL \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0434 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u0446\u0435\u043b\u0438. \u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0435\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439. \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0442\u043a\u0430\u0437\u0430 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u0432\u0440\u0435\u043c\u044f \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442 \u0438 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/orchestrator-i-vip-kak-ha-reshenie-dlya-klastera-mysql\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Orchestrator \u0438 VIP \u043a\u0430\u043a HA-\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 MySQL | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0421\u0438\u0442\u0438\u043c\u043e\u0431\u0438\u043b \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 MySQL \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0434 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u0446\u0435\u043b\u0438. \u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0435\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439. \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0442\u043a\u0430\u0437\u0430 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u0432\u0440\u0435\u043c\u044f \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442 \u0438 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/orchestrator-i-vip-kak-ha-reshenie-dlya-klastera-mysql\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-19T11:42:51+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-19T11:42:51+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Orkestrator ja VIP kui HA-lahendus MySQL-klastrile | ProHoster","description":"Sitimobilis kasutame MySQL andmebaasi p\u00f5hiteabe hoidmise lahendusena. Meil on mitu andmebaasi klastrit erinevate teenuste ja eesm\u00e4rkide jaoks. Pea k\u00e4ttesaadavus on s\u00fcsteemi ja selle osade toimimise kriitiline n\u00e4itaja. Klastri automaatne taastamine pea rikke korral v\u00e4hendab oluliselt reageerimisaega ja s\u00fcsteemi seiskumise aega.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/orchestrator-i-vip-kak-ha-reshenie-dlya-klastera-mysql","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Orchestrator \u0438 VIP \u043a\u0430\u043a HA-\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 MySQL | ProHoster","og:description":"\u0412 \u0421\u0438\u0442\u0438\u043c\u043e\u0431\u0438\u043b \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 MySQL \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0434 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u0446\u0435\u043b\u0438. \u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0435\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439. \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0442\u043a\u0430\u0437\u0430 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u0432\u0440\u0435\u043c\u044f \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442 \u0438 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/orchestrator-i-vip-kak-ha-reshenie-dlya-klastera-mysql","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-19T11:42:51+00:00","article:modified_time":"2020-05-19T11:42:51+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"82113","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:44:23","updated":"2022-09-28 00:08:45"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/82113","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=82113"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/82113\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/82114"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=82113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=82113"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=82113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}