{"id":82116,"date":"2020-05-19T13:42:54","date_gmt":"2020-05-19T11:42:54","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/orchestrator-dlya-mysql-pochemu-bez-nego-nelzya-stroit-otkazoustojchivyj-proekt"},"modified":"2020-05-19T13:42:54","modified_gmt":"2020-05-19T11:42:54","slug":"orchestrator-dlya-mysql-pochemu-bez-nego-nelzya-stroit-otkazoustojchivyj-proekt","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/orchestrator-dlya-mysql-pochemu-bez-nego-nelzya-stroit-otkazoustojchivyj-proekt","title":{"rendered":"MySQLi orkestraator: miks on see h\u00e4davajalik kindlate projektide ehitamiseks","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Iga suur projekt hakkas paarist serverist. Esiteks oli \u00fcks andmebaasi server, seej\u00e4rel lisati sellele orjad, et lugemist skaala suurendada. Ja siin \u2014 stopp! Meistrit on \u00fcks, aga orjasid palju; kui \u00fcks orjast lahkub, siis k\u00f5ik on korras, aga kui meister lahkub \u2014 on see halb: seadme seiskamine, administraatorid pingutavad serverit \u00fcles. Mida teha? Reserveerida meister. Minu kolleeg Pavel on sellest juba kirjutanud, <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/citymobil\/blog\/491044\/\">artiklile<\/a><\/noindex>, ma ei hakka seda kordama. Selle asemel r\u00e4\u00e4gin, miks vajate kindlasti MySQLi orkestraatorit!<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nAlustame peamisest k\u00fcsimusest: \u201eKuidas me koodi uuele masinale \u00fcmber l\u00fclitame, kui meister lahkub?\u201c<\/p>\n<ul>\n<li>VIP (Virtuaal IP) skeem meeldib mulle k\u00f5ige rohkem, sellest r\u00e4\u00e4gime allpool. See on k\u00f5ige lihtsam ja ilmsem, kuigi sellel on selge piirang: meister, mida me reserveerime, peab olema L2-segmendis uue masinaga, see t\u00e4hendab, et teist andmekeskust v\u00f5ib unustada. Ja \u00f5igupoolest, kui j\u00e4rgida reeglit, et suur L2 on kuri, sest L2 on ainult racki jaoks, ning rackide vahel on L3, siis sellisel skeemil on veelgi rohkem piiranguid.<\/li>\n<li>DNS-nime saab koodi sisse kirjutada ja seda lahendada l\u00e4bi \/etc\/hosts. Tegelikult ei toimu lahendamist. Skeemi eelis: puudub piirang, mis iseloomustab esimest meetodit, st ristsuundade korraldamine on v\u00f5imalik. Kuid siis tekib ilmne k\u00fcsimus, kui kiiresti me l\u00e4bi Puppet-Ansible muudatusi \/etc\/hosts-i toome.<\/li>\n<li>Teist meetodit on v\u00f5imalik veidi muuta: k\u00f5igile veebiserveritele installime vahem\u00e4lu DNS-i, l\u00e4bi mille kood liigub p\u00f5hjaandmebaasi. Selle kirje jaoks DNS-is saab m\u00e4\u00e4rata TTL-i 60. Tundub, et \u00f5ige rakendamise korral on meetod hea.<\/li>\n<li>Teenuse avastamise skeem, mis eeldab Consuli ja etcd kasutamist.<\/li>\n<li>Huvitav variant <noindex><a rel=\"nofollow\" href=\"https:\/\/proxysql.com\/\">ProxySQL<\/a><\/noindex>. K\u00f5ik MySQL-i liiklus tuleb suunata l\u00e4bi ProxySQL-i, ProxySQL suudab ise m\u00e4\u00e4rata, kes on praegu peamine. Muide, \u00fche variandi kasutamise kohta selle toote osas saab lugeda minu <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/citymobil\/blog\/501730\/\">artiklis<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nAutori Orchestrator, t\u00f6\u00f6tades Githubis, rakendas esmalt esimest skeemi VIP-iga, seej\u00e4rel muutis selle \u00fcle Consulile.<\/p>\n<p>T\u00fc\u00fcpiline infrastruktuuri skeem:<\/p>\n<p><img decoding=\"async\" alt=\"MySQLi orkestraator: miks on see h\u00e4davajalik kindlate projektide ehitamiseks\" src=\"\/wp-content\/uploads\/2020\/05\/b08220e7aa6336229cbbfedd78afdcc3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nKirjeldan kohe ilmselgeid olukordi, mida tuleb arvesse v\u00f5tta:<\/p>\n<ul>\n<li>VIP-aadress ei tohi olla konfigureeritud \u00fchelgi serveril. Kujutage ette olukorda: maestro taask\u00e4ivitus, ja seni kuni ta laadib, Orchestrator l\u00e4ks failover-re\u017eiimi ja tegi \u00fche slave'i meesterolliks; seej\u00e4rel k\u00e4ivitus vana maestro ja n\u00fc\u00fcd on VIP kahel masinal. See on halb.<\/li>\n<li>Orkestratori jaoks tuleb kirjutada skript, mis p\u00f6\u00f6rdub vana maestro ja uue maestro poole. Vanal tuleb k\u00e4ivitada ifdown ja uuel maestro poole ifup vip. Hea oleks, kui see skript sisaldaks ka, et failover'i korral vana maestro l\u00fclitab lihtsalt pordi v\u00e4lja, et v\u00e4ltida splitbrain'i.<\/li>\n<li>P\u00e4rast seda, kui Orchestrator kutsus teie skripti, et esmalt eemaldada VIP ja\/v\u00f5i l\u00fclitada pordid l\u00fclitil v\u00e4lja, ning seej\u00e4rel uue maestro peal VIP-i \u00fcles t\u00f5sta, \u00e4rge unustage k\u00e4suga arping teatada k\u00f5igile, et uus VIP on n\u00fc\u00fcd siin.<\/li>\n<li>K\u00f5igil slave'idel peab olema read_only=1, ja kui edutate slave'i meesterolliks, peab selle seadistuseks olema read_only=0.<\/li>\n<li>Pidage meeles, et meesteriks v\u00f5ib saada \u00fcksk\u00f5ik milline slave, kelle me selleks valisime (Orchestratoril on terve mehhanism, et m\u00e4\u00e4rata, milline slave on k\u00f5igepealt kandidaat uueks meistriks, milline teiseks ning milline slave ei tohi mingil juhul meister olla). Kui slave saab meistriks, j\u00e4\u00e4b sellele failide koormus ning lisandub veel meistri koormus, seda tuleb arvesse v\u00f5tta.<\/li>\n<\/ul>\n<p>\nMiks on Orchestrator teid h\u00e4dasti vajalik, kui teil seda ei ole?<\/p>\n<ul>\n<li>Orchestratoril on v\u00e4ga mugav kasutajaliides, mis kuvab kogu topoloogia (vaadake allolevat ekraanikuva).<\/li>\n<li>Orchestrator suudab j\u00e4lgida, millised slaves on maha j\u00e4\u00e4nud, ja kus replikatsioon on t\u00e4ielikult katkenud (meil on Orchestratorile \u00fchendatud skriptid SMS-ide saatmiseks).<\/li>\n<li>Orchestrator \u00fctleb teile, millistel slaves on GTID errant viga.<\/li>\n<\/ul>\n<p>\nOrchestratori liides:<\/p>\n<p><img decoding=\"async\" alt=\"MySQLi orkestraator: miks on see h\u00e4davajalik kindlate projektide ehitamiseks\" src=\"\/wp-content\/uploads\/2020\/05\/5129a85ad1c0a5db8e3ecf501cff0d0d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nMis on GTID errant?<\/p>\n<p>Orchestratori t\u00f6\u00f6ks on kaks peamist n\u00f5uet:<\/p>\n<ul>\n<li>K\u00f5ikides MySQL-klastri masinates peab olema sisse l\u00fclitatud pseudo GTID, meil on GTID sisse l\u00fclitatud.<\/li>\n<li>Peate olema veendunud, et igas kohas oleks sama t\u00fc\u00fcpi bin-logid, n\u00e4iteks statement. Meil oli selline konfiguratsioon, kus peamastern ja enamus slave'dest kasutavad Row-logs, kuid kahes s\u00fcnkroonimise ajal j\u00e4i kasutusele Mixed-re\u017eiim. Seet\u00f5ttu ei soovinud Orchestrator nende slave'idega uut masterit \u00fchendada.<\/li>\n<\/ul>\n<p>\nPidage meeles, et production-slave'i k\u00f5ige olulisem aspekt on selle j\u00e4rjepidevus peamastri suhtes! Kui nii peamastris kui slave'is on lubatud Global Transaction ID (GTID), siis funktsiooni gtid_subset abil saate teada, kas nendel masinatel on tegelikult teostatud samad andme muutmise p\u00e4ringud. Lisainfot selle kohta leiate siit. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.percona.com\/blog\/2014\/05\/19\/errant-transactions-major-hurdle-for-gtid-based-failover-in-mysql-5-6\/\">siin<\/a><\/noindex>.<\/p>\n<p>Seega teavitab Orchestrator teid GTID errant veateate kaudu, et slave'is on tehingud, mida peamastris ei eksisteeri. Miks see nii juhtub?<\/p>\n<ul>\n<li>Slave'is ei ole lubatud read_only=1, keegi on sisse logitud ja teinud andme muutmise p\u00e4ringu.<\/li>\n<li>Slave'is ei ole lubatud super_read_only=1, seega on administraator, segades serverid, sisse loginud ja seal p\u00e4ringu teinud.<\/li>\n<li>Kui olete m\u00f5lemad eelnevad punktid arvesse v\u00f5tnud, siis on veel \u00fcks trikk: MySQL-is l\u00e4heb flusheeritavate binlogide p\u00e4ring samuti binlogi, mist\u00f5ttu ilmneb esimese flushi k\u00e4igus masteril ja k\u00f5igil saldositel GTID errant. Kuidas seda v\u00e4ltida? Versioonis perona-5.7.25-28 on lisatud seade binlog_skip_flush_commands=1, mis keelab flushi kirjutamise binlogidesse. Rohkem teavet leiate mysql.com veebisaidilt. <noindex><a rel=\"nofollow\" href=\"https:\/\/bugs.mysql.com\/bug.php?id=88720\">viga<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nKokkuv\u00f5tteks. Kui te ei soovi kasutada Orchestratorit failover re\u017eiimis, seadke see j\u00e4lgimisre\u017eiimile. Siis on teil alati silme ees MySQL-masinate suhtlemise kaart ja selge teave selle kohta, millist replikatsiooni t\u00fc\u00fcp iga masin kasutab, kas saldosid mahaj\u00e4\u00e4b ning mis k\u00f5ige t\u00e4htsam \u2014 kui koosk\u00f5lastatud nad masteriga on!<\/p>\n<p>Ilmselt on k\u00fcsimus: \u201eKuidas Orchestrator peaks t\u00f6\u00f6le hakkama?\u201c. Ta peab valima uue meistri olemasolevatest slavesidest ja seej\u00e4rel \u00fchendama k\u00f5ik slavesid temaga (just selle jaoks on vajalik GTID; kui kasutada vana mehhanismi binlog_name ja binlog_pos, siis ei ole slave'i vahetamine praeguselt meistrilt uuele lihtsalt v\u00f5imalik!). Enne, kui Orchestrator meie juurde tuli, pidin ma kunagi kogu seda t\u00f6\u00f6d k\u00e4sitsi tegema. Vana meester t\u00f6\u00f6tas halva Adaptec'i kontrolleri t\u00f5ttu, tal oli umbes 10 slaves. Mul tuli viia VIP meistrilt \u00fche slave'i peale ja \u00fchendada k\u00f5ik \u00fclej\u00e4\u00e4nud slavesid temaga. Kui palju konsoole ma pidin avama, kui palju samal ajal k\u00e4ske sisestama... Pidin ootama kella 3-ani \u00f6\u00f6sel, eemaldama koormuse k\u00f5igilt slavesidelt, v\u00e4lja arvatud kahest, tegema esimesest masinast meistri, kohe \u00fchendada see teise masinaga, et p\u00e4rast uue meistri juurde \u00fchendada k\u00f5ik teised slaves ja taastada koormus. \u00dches\u00f5naga, \u00f5udus...<\/p>\n<p>Kuidas Orchestrator t\u00f6\u00f6tab, kui see l\u00e4heb failover-re\u017eiimi? Seda on k\u00f5ige lihtsam demonstreerida olukorra n\u00e4itel, kus soovime teha meistriks v\u00f5imsamat ja uuemat masinat kui praegu. <\/p>\n<p><img decoding=\"async\" alt=\"MySQLi orkestraator: miks on see h\u00e4davajalik kindlate projektide ehitamiseks\" src=\"\/wp-content\/uploads\/2020\/05\/d2afe9c74b33765e55641b34def3145e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nJoonisel on n\u00e4idatud protsessi keskosa. Mis on selleks hetkeks juba tehtud? \u00dctlesime, et soovime muuta \u00fche slave uueks masteriks, Orchestrator hakkas lihtsalt k\u00f5iki teisi slave \u00fchendama temaga, samal ajal kui uus master t\u00e4idab vahemasina rolli. Sellise skeemi puhul ei esine vigu, k\u00f5ik slave t\u00f6\u00f6tavad, Orchestrator eemaldab VIP-i vanalt masterilt, viib selle uuele, muudab read_only=0 ja unustab vana masteri. K\u00f5ik! Meie teenuse peatumisaeg on VIP-i \u00fcleviimise aeg, see on 2-3 sekundit.<\/p>\n<p>T\u00e4na on k\u00f5ik, ait\u00e4h k\u00f5igile. Varsti tuleb teine artikkel Orchestratorist. \u00dches tuntud n\u00f5ukogude filmis \"Gara\u017e\" \u00fctles \u00fcks kangelane: \"Ma ei l\u00e4heks temaga luurele!\" Nii et Orchestrator, ma l\u00e4heksin sinuga kindlasti luurele!<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/citymobil\/blog\/501994\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041b\u044e\u0431\u043e\u0439 \u043a\u0440\u0443\u043f\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u0441\u044f \u0441 \u043f\u0430\u0440\u044b \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432. C\u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u044b\u043b \u043e\u0434\u0438\u043d DB-\u0441\u0435\u0440\u0432\u0435\u0440, \u043f\u043e\u0442\u043e\u043c \u043a \u043d\u0435\u043c\u0443 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u0441\u043b\u0435\u0439\u0432\u044b, \u0447\u0442\u043e\u0431\u044b \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0442\u0435\u043d\u0438\u0435. \u0418 \u0442\u0443\u0442 \u2014 \u0441\u0442\u043e\u043f! \u041c\u0430\u0441\u0442\u0435\u0440 \u043e\u0434\u0438\u043d, \u0430 \u0441\u043b\u0435\u0439\u0432\u043e\u0432 \u043c\u043d\u043e\u0433\u043e; \u0435\u0441\u043b\u0438 \u0443\u0439\u0434\u0435\u0442 \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u043b\u0435\u0439\u0432\u043e\u0432, \u0442\u043e \u0432\u0441\u0451 \u0431\u0443\u0434\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u043e, \u0430 \u0435\u0441\u043b\u0438 \u0443\u0439\u0434\u0435\u0442 \u043c\u0430\u0441\u0442\u0435\u0440 \u2014 \u0431\u0443\u0434\u0435\u0442 \u043f\u043b\u043e\u0445\u043e: \u0434\u0430\u0443\u043d\u0442\u0430\u0439\u043c, \u0430\u0434\u043c\u0438\u043d\u044b \u0432 \u043c\u044b\u043b\u0435 \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u044e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440. \u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c? \u0420\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0430\u0441\u0442\u0435\u0440. \u041c\u043e\u0439 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":82117,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-82116","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=\"\u041b\u044e\u0431\u043e\u0439 \u043a\u0440\u0443\u043f\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u0441\u044f \u0441 \u043f\u0430\u0440\u044b \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432. C\u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u044b\u043b \u043e\u0434\u0438\u043d DB-\u0441\u0435\u0440\u0432\u0435\u0440, \u043f\u043e\u0442\u043e\u043c \u043a \u043d\u0435\u043c\u0443 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u0441\u043b\u0435\u0439\u0432\u044b, \u0447\u0442\u043e\u0431\u044b \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0442\u0435\u043d\u0438\u0435. \u0418 \u0442\u0443\u0442 \u2014 \u0441\u0442\u043e\u043f! \u041c\u0430\u0441\u0442\u0435\u0440 \u043e\u0434\u0438\u043d, \u0430 \u0441\u043b\u0435\u0439\u0432\u043e\u0432 \u043c\u043d\u043e\u0433\u043e; \u0435\u0441\u043b\u0438 \u0443\u0439\u0434\u0435\u0442 \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u043b\u0435\u0439\u0432\u043e\u0432, \u0442\u043e \u0432\u0441\u0451 \u0431\u0443\u0434\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u043e, \u0430 \u0435\u0441\u043b\u0438 \u0443\u0439\u0434\u0435\u0442 \u043c\u0430\u0441\u0442\u0435\u0440 \u2014 \u0431\u0443\u0434\u0435\u0442 \u043f\u043b\u043e\u0445\u043e: \u0434\u0430\u0443\u043d\u0442\u0430\u0439\u043c, \u0430\u0434\u043c\u0438\u043d\u044b \u0432 \u043c\u044b\u043b\u0435 \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u044e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440. \u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c? \u0420\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0430\u0441\u0442\u0435\u0440. \u041c\u043e\u0439\" \/>\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-dlya-mysql-pochemu-bez-nego-nelzya-stroit-otkazoustojchivyj-proekt\" \/>\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 \u0434\u043b\u044f MySQL: \u043f\u043e\u0447\u0435\u043c\u0443 \u0431\u0435\u0437 \u043d\u0435\u0433\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041b\u044e\u0431\u043e\u0439 \u043a\u0440\u0443\u043f\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u0441\u044f \u0441 \u043f\u0430\u0440\u044b \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432. C\u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u044b\u043b \u043e\u0434\u0438\u043d DB-\u0441\u0435\u0440\u0432\u0435\u0440, \u043f\u043e\u0442\u043e\u043c \u043a \u043d\u0435\u043c\u0443 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u0441\u043b\u0435\u0439\u0432\u044b, \u0447\u0442\u043e\u0431\u044b \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0442\u0435\u043d\u0438\u0435. \u0418 \u0442\u0443\u0442 \u2014 \u0441\u0442\u043e\u043f! \u041c\u0430\u0441\u0442\u0435\u0440 \u043e\u0434\u0438\u043d, \u0430 \u0441\u043b\u0435\u0439\u0432\u043e\u0432 \u043c\u043d\u043e\u0433\u043e; \u0435\u0441\u043b\u0438 \u0443\u0439\u0434\u0435\u0442 \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u043b\u0435\u0439\u0432\u043e\u0432, \u0442\u043e \u0432\u0441\u0451 \u0431\u0443\u0434\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u043e, \u0430 \u0435\u0441\u043b\u0438 \u0443\u0439\u0434\u0435\u0442 \u043c\u0430\u0441\u0442\u0435\u0440 \u2014 \u0431\u0443\u0434\u0435\u0442 \u043f\u043b\u043e\u0445\u043e: \u0434\u0430\u0443\u043d\u0442\u0430\u0439\u043c, \u0430\u0434\u043c\u0438\u043d\u044b \u0432 \u043c\u044b\u043b\u0435 \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u044e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440. \u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c? \u0420\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0430\u0441\u0442\u0435\u0440. \u041c\u043e\u0439\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/orchestrator-dlya-mysql-pochemu-bez-nego-nelzya-stroit-otkazoustojchivyj-proekt\" \/>\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:54+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-19T11:42:54+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\udd47Orchestrator MySQL jaoks: miks ilma selleta pole v\u00f5imalik ehitada talitlush\u00e4irete v\u00e4ltimise projekti | ProHoster","description":"Iga suur projekt algas paarist serverist. Alguses oli \u00fcks DB-server, siis lisandusid sellele slave'id, et lugemist skaleerida. Ja siis \u2014 stopp! Master on \u00fcks, aga slave'e on palju; kui \u00fcks slave kaob, pole hullu, aga kui master kaob \u2014 on see halb: seisak, adminnid kiirendavad serveri k\u00e4ivitamist. Mida teha? Varundada master.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/orchestrator-dlya-mysql-pochemu-bez-nego-nelzya-stroit-otkazoustojchivyj-proekt","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 \u0434\u043b\u044f MySQL: \u043f\u043e\u0447\u0435\u043c\u0443 \u0431\u0435\u0437 \u043d\u0435\u0433\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 | ProHoster","og:description":"\u041b\u044e\u0431\u043e\u0439 \u043a\u0440\u0443\u043f\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u0441\u044f \u0441 \u043f\u0430\u0440\u044b \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432. C\u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u044b\u043b \u043e\u0434\u0438\u043d DB-\u0441\u0435\u0440\u0432\u0435\u0440, \u043f\u043e\u0442\u043e\u043c \u043a \u043d\u0435\u043c\u0443 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u0441\u043b\u0435\u0439\u0432\u044b, \u0447\u0442\u043e\u0431\u044b \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0442\u0435\u043d\u0438\u0435. \u0418 \u0442\u0443\u0442 \u2014 \u0441\u0442\u043e\u043f! \u041c\u0430\u0441\u0442\u0435\u0440 \u043e\u0434\u0438\u043d, \u0430 \u0441\u043b\u0435\u0439\u0432\u043e\u0432 \u043c\u043d\u043e\u0433\u043e; \u0435\u0441\u043b\u0438 \u0443\u0439\u0434\u0435\u0442 \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u043b\u0435\u0439\u0432\u043e\u0432, \u0442\u043e \u0432\u0441\u0451 \u0431\u0443\u0434\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u043e, \u0430 \u0435\u0441\u043b\u0438 \u0443\u0439\u0434\u0435\u0442 \u043c\u0430\u0441\u0442\u0435\u0440 \u2014 \u0431\u0443\u0434\u0435\u0442 \u043f\u043b\u043e\u0445\u043e: \u0434\u0430\u0443\u043d\u0442\u0430\u0439\u043c, \u0430\u0434\u043c\u0438\u043d\u044b \u0432 \u043c\u044b\u043b\u0435 \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u044e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440. \u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c? \u0420\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0430\u0441\u0442\u0435\u0440. \u041c\u043e\u0439","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/orchestrator-dlya-mysql-pochemu-bez-nego-nelzya-stroit-otkazoustojchivyj-proekt","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:54+00:00","article:modified_time":"2020-05-19T11:42:54+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"82116","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:22","updated":"2022-10-07 20:28:08"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/82116","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=82116"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/82116\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/82117"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=82116"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=82116"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=82116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}