{"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\/sk\/blog\/administrirovanie\/orchestrator-dlya-mysql-pochemu-bez-nego-nelzya-stroit-otkazoustojchivyj-proekt","title":{"rendered":"Orchestr\u00e1tor pre MySQL: pre\u010do bez neho nemo\u017eno vybudova\u0165 odoln\u00fd projekt","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ka\u017ed\u00fd ve\u013ek\u00fd projekt za\u010d\u00ednal s p\u00e1r servermi. Spo\u010diatku bol jeden datab\u00e1zov\u00fd server, potom k nemu pribudli slave servery na \u0161k\u00e1lovanie \u010d\u00edtania. A tu \u2013 stop! M\u00e1m jedn\u00e9ho mastera a ve\u013ea slave serverov; ak jeden zo slave serverov zlyh\u00e1, v\u0161etko bude v poriadku, ale ak zlyh\u00e1 master \u2013 bude zle: downtime, administr\u00e1tori sa sna\u017eia obnovi\u0165 server. \u010co robi\u0165? Rezervova\u0165 mastera. M\u00f4j kolega Pavel u\u017e o tom p\u00edsal <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/citymobil\/blog\/491044\/\">\u010dl\u00e1nok<\/a><\/noindex>, nebudem to opakova\u0165. Namiesto toho v\u00e1m poviem, pre\u010do potrebujete Orchestrator pre MySQL!<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nZa\u010dneme hlavn\u00fdm ot\u00e1znikom: \u201eAko prepneme k\u00f3d na nov\u00fd server pri zlyhan\u00ed mastera?\u201c<\/p>\n<ul>\n<li>Sch\u00e9ma s VIP (virtu\u00e1lna IP) sa mi p\u00e1\u010di najviac, o nej budeme hovori\u0165 ni\u017e\u0161ie. Je najjednoduch\u0161ia a najsamozrejmej\u0161ia, hoci m\u00e1 jedno jasn\u00e9 obmedzenie: master, ktor\u00e9ho budeme rezervova\u0165, mus\u00ed by\u0165 v L2 segmente s nov\u00fdm strojom, teda na druhej lokalite sa m\u00f4\u017eeme zabudn\u00fa\u0165. A navy\u0161e, ak by sme sa mali riadi\u0165 pravidlom, \u017ee ve\u013ek\u00e9 L2 je zl\u00e9, preto\u017ee L2 je len na stojan a medzi stojanmi je L3, a tak\u00e1 sch\u00e9ma m\u00e1 e\u0161te viac obmedzen\u00ed.<\/li>\n<li>M\u00f4\u017eeme do k\u00f3du nap\u00edsa\u0165 DNS meno a rozresolvova\u0165 ho cez \/etc\/hosts. V skuto\u010dnosti ale rozrezolva nebude. V\u00fdhodou tejto sch\u00e9my je, \u017ee nem\u00e1 obmedzenie charakteristick\u00e9 pre prv\u00fd sp\u00f4sob, tak\u017ee m\u00f4\u017eeme organizova\u0165 aj cross-Datacenters. Ale napad\u00e1 ma zjavn\u00e1 ot\u00e1zka, ako r\u00fdchlo zmen\u00edme v \/etc\/hosts cez Puppet-Ansible.<\/li>\n<li>Druh\u00fd sp\u00f4sob m\u00f4\u017eeme mierne upravi\u0165: na v\u0161etk\u00fdch webov\u00fdch serveroch nastav\u00edme cachingov\u00fd DNS, cez ktor\u00fd k\u00f3d p\u00f4jde do master datab\u00e1zy. M\u00f4\u017eeme nastavi\u0165 TTL 60 pre t\u00fato z\u00e1znam v DNS. Zd\u00e1 sa, \u017ee pri spr\u00e1vnej implement\u00e1cii je tento sp\u00f4sob dobr\u00fd.<\/li>\n<li>Sch\u00e9ma so slu\u017ebou objavovania, ktor\u00e1 predpoklad\u00e1 pou\u017eitie Consul a etcd.<\/li>\n<li>Zauj\u00edmav\u00e1 mo\u017enos\u0165 s <noindex><a rel=\"nofollow\" href=\"https:\/\/proxysql.com\/\">ProxySQL<\/a><\/noindex>. Mus\u00edme cel\u00fd traffic na MySQL previes\u0165 cez ProxySQL, ProxySQL s\u00e1m dok\u00e1\u017ee ur\u010di\u0165, kto je teraz master. Mimochodom, o jednom z pou\u017eit\u00ed tohto produktu sa m\u00f4\u017eete do\u010d\u00edta\u0165 v mojom <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/citymobil\/blog\/501730\/\">\u010dl\u00e1nku<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nAutor Orchestratora, pracuj\u00faci v Github, najprv implementoval prv\u00fa sch\u00e9mu s VIP, a potom ju prepracoval na sch\u00e9mu s consul.<\/p>\n<p>Typick\u00e1 sch\u00e9ma infra\u0161trukt\u00fary:<\/p>\n<p><img decoding=\"async\" alt=\"Orchestr\u00e1tor pre MySQL: pre\u010do bez neho nemo\u017eno vybudova\u0165 odoln\u00fd projekt\" src=\"\/wp-content\/uploads\/2020\/05\/b08220e7aa6336229cbbfedd78afdcc3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nIhne\u010f pop\u00ed\u0161em o\u010dividn\u00e9 situ\u00e1cie, ktor\u00e9 je potrebn\u00e9 zoh\u013eadni\u0165:<\/p>\n<ul>\n<li>VIP adresa by nemala by\u0165 uveden\u00e1 v konfigur\u00e1cii na \u017eiadnom zo serverov. Predstavme si situ\u00e1ciu: master sa re\u0161tartoval, a k\u00fdm sa na\u010d\u00edta, Orchestrator pre\u0161iel do re\u017eimu failover a urobil z jedn\u00e9ho zo slave serverov mastera; potom sa star\u00fd master spustil, a teraz je VIP na dvoch zariadeniach. To je zle.<\/li>\n<li>Pre orchestr\u00e1tora bude potrebn\u00e9 nap\u00edsa\u0165 skript na oslovovanie star\u00e9ho a nov\u00e9ho majstra. Na starom by sa mala vykona\u0165 oper\u00e1cia ifdown, zatia\u013e \u010do na novom majstrovi \u2014 ifup vip. Bolo by fajn tie\u017e do tohoto skriptu zahrn\u00fa\u0165, aby sa v pr\u00edpade failoveru port na prep\u00edna\u010di star\u00e9ho majstra jednoducho vypol, aby sa predi\u0161lo ak\u00e9muko\u013evek splitbrainu.<\/li>\n<li>Po tom, \u010do Orchestrator spustil v\u00e1\u0161 skript na prv\u00e9 zru\u0161enie VIP a\/alebo vypnutie portu na prep\u00edna\u010di, a n\u00e1sledne na novom majstrovi spustil skript na aktiv\u00e1ciu VIP, nezabudnite pr\u00edkazom arping informova\u0165 v\u0161etk\u00fdch, \u017ee nov\u00fd VIP je teraz tu.<\/li>\n<li>Vo v\u0161etk\u00fdch slave by malo by\u0165 nastaven\u00e9 read_only=1, a akon\u00e1hle pov\u00fd\u0161ite slave na majstra, mala by sa nastavi\u0165 read_only=0.<\/li>\n<li>Nezab\u00fadajte, \u017ee majstrom sa m\u00f4\u017ee sta\u0165 ak\u00fdko\u013evek slave, ktor\u00e9ho sme vybrali na tento \u00fa\u010del (orchestr\u00e1tor m\u00e1 cel\u00fd mechanizmus preferenci\u00ed, ktor\u00fd slave pova\u017eova\u0165 za kandid\u00e1ta na nov\u00e9ho majstra v prvom rade, ktor\u00fd v druhom, a ktor\u00fd slave by sa za \u017eiadnych okolnost\u00ed nemal sta\u0165 majstrom). Ak sa slave stane majstrom, zostane mu z\u00e1\u0165a\u017e slava a pribudne z\u00e1\u0165a\u017e majstra, toto je potrebn\u00e9 zoh\u013eadni\u0165.<\/li>\n<\/ul>\n<p>\nPre\u010do potrebujete Orchestrator, ak ho nem\u00e1te?<\/p>\n<ul>\n<li>Orchestrator m\u00e1 ve\u013emi pr\u00edvetiv\u00e9 grafick\u00e9 rozhranie, ktor\u00e9 zobrazuje cel\u00fa topol\u00f3giu (pozrite screenshot ni\u017e\u0161ie).<\/li>\n<li>Orchestrator m\u00f4\u017ee sledova\u0165, ktor\u00e9 slave s\u00fa pozadu, a kde sa replik\u00e1cia \u00faplne pokazila (k Orchestratoru s\u00fa pripojen\u00e9 skripty na posielanie SMS).<\/li>\n<li>Orchestrator v\u00e1m hovor\u00ed, na ktor\u00fdch slave je chyba GTID errant.<\/li>\n<\/ul>\n<p>\nRozhranie Orchestrator:<\/p>\n<p><img decoding=\"async\" alt=\"Orchestr\u00e1tor pre MySQL: pre\u010do bez neho nemo\u017eno vybudova\u0165 odoln\u00fd projekt\" src=\"\/wp-content\/uploads\/2020\/05\/5129a85ad1c0a5db8e3ecf501cff0d0d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n\u010co je to GTID errant?<\/p>\n<p>Existuj\u00fa dva z\u00e1kladn\u00e9 po\u017eiadavky na fungovanie Orchestratoru:<\/p>\n<ul>\n<li>Mus\u00ed by\u0165 na v\u0161etk\u00fdch strojoch MySQL klastru povolen\u00fd pseudo GTID, m\u00e1me povolen\u00fd GTID.<\/li>\n<li>Mus\u00ed by\u0165 v\u0161ade rovnak\u00fd typ binlogov, m\u00f4\u017ee to by\u0165 statement. Mali sme tak\u00fa konfigur\u00e1ciu, pri ktorej bol na majstrovi a na v\u00e4\u010d\u0161ine slave Row, zatia\u013e \u010do na dvoch zostal historicky re\u017eim Mixed. V d\u00f4sledku toho tieto slave Orchestrator jednoducho nechcel pripoji\u0165 k nov\u00e9mu majstrovi.<\/li>\n<\/ul>\n<p>\nPam\u00e4tajte, \u017ee najd\u00f4le\u017eitej\u0161ie na production slave je jeho konzistencia s majstrom! Ak m\u00e1te na majstrovi aj na slave zapnut\u00fd Global Transaction ID (GTID), m\u00f4\u017eete cez funkciu gtid_subset zisti\u0165, \u010di na t\u00fdchto strojoch boli vykonan\u00e9 rovnak\u00e9 pr\u00edkazy na zmenu d\u00e1t. O tom si m\u00f4\u017eete pre\u010d\u00edta\u0165 viac. <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\/\">tu<\/a><\/noindex>.<\/p>\n<p>Tak\u017ee Orchestrator v\u00e1m prostredn\u00edctvom chyby GTID errant ukazuje, \u017ee na slave s\u00fa transakcie, ktor\u00e9 na masteri nie s\u00fa. Pre\u010do sa to deje?<\/p>\n<ul>\n<li>Na slave nie je povolen\u00fd read_only=1, niekto sa pripojil a vykonal pr\u00edkaz na zmenu \u00fadajov.<\/li>\n<li>Na slave nie je povolen\u00fd super_read_only=1, tak\u017ee administr\u00e1tor, zamie\u0148aj\u00fac servery, sa prihl\u00e1sil a tam vykonal pr\u00edkaz.<\/li>\n<li>Ak ste zoh\u013eadnili oba predch\u00e1dzaj\u00face body, existuje e\u0161te jeden trik: v MySQL pr\u00edkaz na flush binlogov sa tie\u017e zapisuje do binlogu, tak\u017ee pri prvom flush na masteri a na v\u0161etk\u00fdch slave sa objav\u00ed GTID errant. Ako tomu pred\u00eds\u0165? V perona-5.7.25-28 sa objavila konfigur\u00e1cia binlog_skip_flush_commands=1, ktor\u00e1 zakazuje zapisovanie flush do binlogov. Na str\u00e1nke mysql.com je to zaregistrovan\u00e9. <noindex><a rel=\"nofollow\" href=\"https:\/\/bugs.mysql.com\/bug.php?id=88720\">bug<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nZhr\u0148ujem v\u0161etko predch\u00e1dzaj\u00face. Ak zatia\u013e nechcete pou\u017e\u00edva\u0165 Orchestrator v re\u017eime failover, nastavte ho na re\u017eim sledovania. Potom v\u017edy budete ma\u0165 na o\u010diach mapu interakcie MySQL strojov a preh\u013eadn\u00e9 inform\u00e1cie o type replik\u00e1cie na ka\u017edom stroji, \u010di s\u00fa slave pozadu a najd\u00f4le\u017eitej\u0161ie \u2014 ako ve\u013emi s\u00fa konzistentn\u00e9 s masterom!<\/p>\n<p>Zrejm\u00e1 ot\u00e1zka: \u201eAko m\u00e1 Orchestrator fungova\u0165?\u201c Mus\u00ed vybra\u0165 nov\u00e9ho m\u00e1stra z aktu\u00e1lnych slave a potom na neho prepoji\u0165 v\u0161etky slave (presne na to je potrebn\u00fd GTID; ak by ste pou\u017eili star\u00fd mechanizmus s binlog_name a binlog_pos, prechod slave z aktu\u00e1lneho m\u00e1stra na nov\u00fd by bol jednoducho nemo\u017en\u00fd!). Predt\u00fdm, ne\u017e sme mali Orchestrator, musel som to raz robi\u0165 ru\u010dne. Star\u00fd master zamie\u0148al kv\u00f4li poruchov\u00e9mu ovl\u00e1da\u010du Adaptec, mal okolo 10 slave. Musel som prenies\u0165 VIP z m\u00e1stra na jeden z slave a prepoji\u0165 na\u0148 v\u0161etky ostatn\u00e9 slave. Ko\u013eko konzol som musel otvori\u0165, ko\u013eko s\u00fa\u010dasn\u00fdch pr\u00edkazov zada\u0165... Musel som \u010daka\u0165 do 3. hodiny r\u00e1no, uvo\u013eni\u0165 z\u00e1\u0165a\u017e zo v\u0161etk\u00fdch slave, okrem dvoch, urobi\u0165 z prvej ma\u0161iny z dvoch m\u00e1stra, okam\u017eite k nej pripoji\u0165 druh\u00fa ma\u0161inu, tak\u017ee ku nov\u00e9mu m\u00e1strovi pripoji\u0165 v\u0161etky ostatn\u00e9 slave a vr\u00e1ti\u0165 z\u00e1\u0165a\u017e. Skr\u00e1tka, hrozn\u00e9...<\/p>\n<p>Ako Orchestrator funguje, ke\u010f prech\u00e1dza do re\u017eimu failover? Naj\u013eah\u0161ie to uk\u00e1\u017eem na pr\u00edklade situ\u00e1cie, ke\u010f chceme urobi\u0165 m\u00e1strem v\u00fdkonnej\u0161\u00ed, modernej\u0161\u00ed stroj, ne\u017e ak\u00fd m\u00e1me teraz. <\/p>\n<p><img decoding=\"async\" alt=\"Orchestr\u00e1tor pre MySQL: pre\u010do bez neho nemo\u017eno vybudova\u0165 odoln\u00fd projekt\" src=\"\/wp-content\/uploads\/2020\/05\/d2afe9c74b33765e55641b34def3145e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nNa obr\u00e1zku je zobrazen\u00e1 stredn\u00e1 f\u00e1za procesu. \u010co u\u017e bolo uroben\u00e9 pred t\u00fdmto okamihom? Povedali sme, \u017ee chceme spravi\u0165 nejak\u00e9ho sl jeva nov\u00fdm majstrom, Orchestrator za\u010dal jednoducho prepoj\u00ed\u0165 k nemu v\u0161etk\u00fdch ostatn\u00fdch sl eevov, pri\u010dom nov\u00fd majster pln\u00ed \u00falohu tranzitn\u00e9ho stroja. Pri tejto sch\u00e9me sa chyby nevyskytuj\u00fa, v\u0161etci sl evi pracuj\u00fa, Orchestrator odstr\u00e1ni VIP zo star\u00e9ho majstra, presunie ho na nov\u00fd, nastav\u00ed read_only=0 a zabudne na star\u00e9ho majstra. A je to! Doba nefunk\u010dnosti na\u0161ich slu\u017eieb je \u010das potrebn\u00fd na presun VIP, \u010do s\u00fa 2-3 sekundy.<\/p>\n<p>Dnes je to v\u0161etko, \u010fakujem v\u0161etk\u00fdm. \u010coskoro bude druh\u00fd \u010dl\u00e1nok o Orchestrator. V zn\u00e1mej sovietskej filme \u201eGar\u00e1\u017e\u201c jeden hrdina povedal \u201eS n\u00edm by som do prieskumu ne\u0161iel!\u201c Tak\u017ee, Orchestrator, s tebou by som do prieskumu \u0161iel!<br \/>\n<br \/>Zdroj: <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 5.0.4 - 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!\" \/>\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\/sk\/blog\/administrirovanie\/orchestrator-dlya-mysql-pochemu-bez-nego-nelzya-stroit-otkazoustojchivyj-proekt\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\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!\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/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 pre MySQL: pre\u010do bez neho nemo\u017eno vytv\u00e1ra\u0165 projekt s vysokou dostupnos\u0165ou | ProHoster","description":"Ak\u00fdko\u013evek ve\u013ek\u00fd projekt za\u010d\u00ednal s p\u00e1r servermi. Najprv bol jeden DB-server, potom k nemu pridali sl evi, aby sa roz\u0161\u00edrilo \u010d\u00edtanie. A tu \u2014 stop!","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/orchestrator-dlya-mysql-pochemu-bez-nego-nelzya-stroit-otkazoustojchivyj-proekt","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","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!","og:url":"https:\/\/prohoster.info\/sk\/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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/82116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=82116"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/82116\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media\/82117"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=82116"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=82116"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=82116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}