{"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\/sv\/blog\/administrirovanie\/orchestrator-dlya-mysql-pochemu-bez-nego-nelzya-stroit-otkazoustojchivyj-proekt","title":{"rendered":"Orchestrator f\u00f6r MySQL: varf\u00f6r det inte g\u00e5r att bygga ett h\u00f6g tillg\u00e4nglighetsprojekt utan det","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Varje stort projekt b\u00f6rjar med ett par servrar. F\u00f6rst fanns det en databasserver, sedan lades ytterligare slavar till f\u00f6r att skala l\u00e4sningen. Och h\u00e4r \u2014 stopp! Det finns en master och m\u00e5nga slavar; om en av slavarna g\u00e5r ner \u00e4r det okej, men om mastern g\u00e5r ner \u2014 d\u00e5 blir det problem: driftstopp, administrat\u00f6rer st\u00e5r med huvudet i h\u00e4nderna f\u00f6r att \u00e5terst\u00e4lla servern. Vad ska vi g\u00f6ra? Reservkopiera mastern. Min kollega Pavel har redan skrivit om detta. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/citymobil\/blog\/491044\/\">artikeln<\/a><\/noindex>, jag kommer inte att upprepa det. Ist\u00e4llet kommer jag att ber\u00e4tta varf\u00f6r du absolut beh\u00f6ver Orchestrator f\u00f6r MySQL!<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nL\u00e5t oss b\u00f6rja med den viktigaste fr\u00e5gan: \"Hur ska vi v\u00e4xla koden till den nya maskinen n\u00e4r mastern g\u00e5r ner?\".<\/p>\n<ul>\n<li>Schemat med VIP (Virtual IP) gillar jag mest, och det \u00e4r det vi kommer att diskutera nedan. Det \u00e4r det enklaste och mest uppenbara, \u00e4ven om det har en tydlig begr\u00e4nsning: den master som vi ska reservkopiera m\u00e5ste ligga inom L2-segmentet med den nya maskinen, vilket inneb\u00e4r att den andra datacentret kan gl\u00f6mmas. Dessutom, om man ska vara \u00e4rlig, om man f\u00f6ljer regeln att stora L2 \u00e4r ont, eftersom L2 bara \u00e4r p\u00e5 stativet, och mellan stativen L3, s\u00e5 har detta schema \u00e4nnu fler begr\u00e4nsningar.<\/li>\n<li>Man kan ange DNS-namnet i koden och l\u00f6sa det via \/etc\/hosts. I verkligheten kommer dock ingen l\u00f6sning att ske. F\u00f6rdel med schemat: det finns ingen av dessa begr\u00e4nsningar som k\u00e4nnetecknar den f\u00f6rsta metoden, s\u00e5 man kan \u00e4ven skapa en cross-Datacenter l\u00f6sning. Men d\u00e5 uppkommer den uppenbara fr\u00e5gan, hur snabbt vi genom Puppet-Ansible kan leverera f\u00f6r\u00e4ndringen i \/etc\/hosts.<\/li>\n<li>Man kan \u00e4ndra den andra metoden lite: p\u00e5 alla webbservrar installerar vi en cache-DNS, genom vilken koden ska g\u00e5 till master-databasen. Man kan ange TTL 60 f\u00f6r denna post i DNS. Det verkar som en bra metod om den implementeras korrekt.<\/li>\n<li>Schemat med service discovery som involverar anv\u00e4ndningen av Consul och etcd.<\/li>\n<li>En intressant variant med <noindex><a rel=\"nofollow\" href=\"https:\/\/proxysql.com\/\">ProxySQL<\/a><\/noindex>. All trafik till MySQL beh\u00f6ver g\u00e5 genom ProxySQL, som sj\u00e4lv kan avg\u00f6ra vem som f\u00f6r n\u00e4rvarande \u00e4r master. F\u00f6r \u00f6vrigt, om en av anv\u00e4ndningarna av denna produkt kan l\u00e4sas i min <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/citymobil\/blog\/501730\/\">artikeln<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nF\u00f6rfattaren av Orchestrator, jobbade p\u00e5 Github, implementerade f\u00f6rst det f\u00f6rsta schemat med VIP, och sedan \u00e4ndrade han till schemat med Consul.<\/p>\n<p>Typiskt schema f\u00f6r infrastruktur:<\/p>\n<p><img decoding=\"async\" alt=\"Orchestrator f\u00f6r MySQL: varf\u00f6r det inte g\u00e5r att bygga ett h\u00f6g tillg\u00e4nglighetsprojekt utan det\" src=\"\/wp-content\/uploads\/2020\/05\/b08220e7aa6336229cbbfedd78afdcc3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nL\u00e5t mig omedelbart beskriva uppenbara situationer som m\u00e5ste beaktas:<\/p>\n<ul>\n<li>VIP-adressen f\u00e5r inte anges i konfigurationen p\u00e5 n\u00e5gon av servrarna. F\u00f6rest\u00e4ll dig situationen: mastern startades om, och medan den bootar, har Orchestrator g\u00e5tt \u00f6ver till failover-l\u00e4ge och gjort en av slavarna till master; sedan startar den gamla mastern igen, och nu har vi VIP p\u00e5 tv\u00e5 maskiner. Det \u00e4r d\u00e5ligt.<\/li>\n<li>F\u00f6r orkestatorn beh\u00f6ver du skriva ett skript som kontaktar den gamla mastern och den nya mastern. P\u00e5 den gamla m\u00e5ste ifdown k\u00f6ras, medan ifup vip ska k\u00f6ras p\u00e5 den nya mastern. Det vore bra att ocks\u00e5 inkludera i detta skript att, vid failover, porten p\u00e5 switchen till den gamla mastern st\u00e4ngs f\u00f6r att undvika n\u00e5gon splitbrain.<\/li>\n<li>Efter att Orchestrator har kallat ditt skript f\u00f6r att f\u00f6rst ta bort VIP och\/eller st\u00e4nga porten p\u00e5 switchen, och d\u00e4refter kalla skriptet f\u00f6r att aktivera VIP p\u00e5 den nya mastern, gl\u00f6m inte att anv\u00e4nda kommandot arping f\u00f6r att informera alla om att den nya VIP nu \u00e4r h\u00e4r.<\/li>\n<li>Alla slavar ska ha read_only=1, och s\u00e5 snart du g\u00f6r en slav till master, ska den ha read_only=0.<\/li>\n<li>Kom ih\u00e5g att vilken slav som helst som vi v\u00e4ljer f\u00f6r detta kan bli master (Orchestrator har en mekanism f\u00f6r att prioritera vilken slav som ska bli ny master f\u00f6rst, vilken andra och vilken slav som under inga omst\u00e4ndigheter ska bli vald som master). Om en slav blir master, s\u00e5 kommer den ha lasten av slaven och dessutom lagt till lasten av mastern, vilket m\u00e5ste beaktas.<\/li>\n<\/ul>\n<p>\nVarf\u00f6r beh\u00f6ver du Orchestrator, om du inte har en?<\/p>\n<ul>\n<li>Orchestrator har ett mycket anv\u00e4ndarv\u00e4nligt gr\u00e4nssnitt som visar hela topologin (se sk\u00e4rmdumpen nedan).<\/li>\n<li>Orchestrator kan \u00f6vervaka vilka slavar som har f\u00f6rdr\u00f6jning och var replikeringen har brutit samman (vi har skript anslutna till Orchestrator f\u00f6r att skicka SMS).<\/li>\n<li>Orchestrator informerar dig om vilka slavar som har ett fel GTID errant.<\/li>\n<\/ul>\n<p>\nOrchestrator-gr\u00e4nssnittet:<\/p>\n<p><img decoding=\"async\" alt=\"Orchestrator f\u00f6r MySQL: varf\u00f6r det inte g\u00e5r att bygga ett h\u00f6g tillg\u00e4nglighetsprojekt utan det\" src=\"\/wp-content\/uploads\/2020\/05\/5129a85ad1c0a5db8e3ecf501cff0d0d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nVad \u00e4r GTID errant?<\/p>\n<p>Det finns tv\u00e5 grundl\u00e4ggande krav f\u00f6r att Orchestrator ska fungera:<\/p>\n<ul>\n<li>Det m\u00e5ste vara aktiverat pseudo GTID p\u00e5 alla maskiner i MySQL-klustret, och vi har GTID aktiverat.<\/li>\n<li>Det m\u00e5ste finnas en typ av binlogs \u00f6verallt, g\u00e4rna statement. Vi hade en s\u00e5dan konfiguration d\u00e4r mastern och de flesta slavar hade Row, medan tv\u00e5 historiskt hade Mixed-l\u00e4get. Som ett resultat ville Orchestrator helt enkelt inte ansluta dessa slavar till den nya mastern.<\/li>\n<\/ul>\n<p>\nKom ih\u00e5g att det viktigaste p\u00e5 en production-slav \u00e4r dess konsistens med mastern! Om b\u00e5de mastern och slaven har Global Transaction ID (GTID) aktiverat, kan man med funktionen gtid_subset ta reda p\u00e5 om samma f\u00f6r\u00e4ndringsf\u00f6rfr\u00e5gningar faktiskt har utf\u00f6rts p\u00e5 dessa maskiner. Du kan l\u00e4sa mer om detta. <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\/\">). Ett typiskt exempel p\u00e5 anv\u00e4ndning:<\/a><\/noindex>.<\/p>\n<p>P\u00e5 s\u00e5 s\u00e4tt visar Orchestrator genom GTID-felmeddelandet att det finns transaktioner p\u00e5 slaven som inte finns p\u00e5 mastern. Hur kan detta h\u00e4nda?<\/p>\n<ul>\n<li>P\u00e5 slaven \u00e4r read_only=1 inte aktiverat, n\u00e5gon har anslutit och utf\u00f6rt en databas\u00e4ndringsfr\u00e5ga.<\/li>\n<li>P\u00e5 slaven \u00e4r super_read_only=1 inte aktiverat, s\u00e5 en administrat\u00f6r kan ha f\u00f6rv\u00e4xlat servrar och utf\u00f6rt en fr\u00e5ga d\u00e4r.<\/li>\n<li>Om du har beaktat de tv\u00e5 tidigare punkterna finns det en annan finess: i MySQL registreras ocks\u00e5 fr\u00e5gan om att t\u00f6mma binloggar i binloggen, s\u00e5 vid f\u00f6rsta flush p\u00e5 mastern och p\u00e5 alla slavar kommer GTID-felmeddelandet att visas. Hur kan man undvika detta? I perona-5.7.25-28 introducerades inst\u00e4llningen binlog_skip_flush_commands=1, som f\u00f6rhindrar att flush skrivs i binloggar. P\u00e5 mysql.com finns det en uppteckning. <noindex><a rel=\"nofollow\" href=\"https:\/\/bugs.mysql.com\/bug.php?id=88720\">bugg<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nSammanfattningsvis allt ovanst\u00e5ende. Om du \u00e4nnu inte vill anv\u00e4nda Orchestrator i failover-l\u00e4ge, s\u00e4tt det d\u00e5 i bevakningsl\u00e4ge. D\u00e5 har du alltid en karta \u00f6ver interaktionen mellan MySQL-maskiner framf\u00f6r dig och tydlig information om vilken typ av replikering som finns p\u00e5 varje maskin, om slavar ligger efter och viktigast av allt \u2014 hur konsistent de \u00e4r med mastern!<\/p>\n<p>En uppenbar fr\u00e5ga: \"Hur ska Orchestrator fungera?\" Den ska v\u00e4lja en ny master bland de nuvarande slavarna och sedan \u00e5teransluta alla slavar till den (detta \u00e4r anledningen till att GTID beh\u00f6vs; om man anv\u00e4nder den gamla mekanismen med binlog_name och binlog_pos \u00e4r det helt om\u00f6jligt att byta slav fr\u00e5n nuvarande master till en ny!). F\u00f6re Orchestrators tid var jag tvungen att g\u00f6ra allt detta manuellt en g\u00e5ng. Den gamla mastern h\u00e4ngde sig p\u00e5 grund av en buggig Adaptec-kontroll, och den hade cirka 10 slavar. Jag beh\u00f6vde flytta VIP fr\u00e5n mastern till en av slavarna och \u00e5teransluta alla andra slavar dit. Hur m\u00e5nga konsoler fick jag inte \u00f6ppna, hur m\u00e5nga kommandon fick jag inte skriva in samtidigt... Jag fick v\u00e4nta till klockan 03:00, avlasta alla slavar utom tv\u00e5, g\u00f6ra den f\u00f6rsta maskinen till master av de tv\u00e5, koppla den andra direkt till den, s\u00e5 att alla andra slavar \u00e5teransluts till den nya mastern och belastningen \u00e5terst\u00e4lls. I allm\u00e4nhet, hemskt...<\/p>\n<p>Hur fungerar Orchestrator n\u00e4r den g\u00e5r in i failover-l\u00e4ge? Det \u00e4r enklast att visa med ett exempel d\u00e4r vi vill g\u00f6ra en kraftfullare och modernare maskin till master \u00e4n den vi har just nu. <\/p>\n<p><img decoding=\"async\" alt=\"Orchestrator f\u00f6r MySQL: varf\u00f6r det inte g\u00e5r att bygga ett h\u00f6g tillg\u00e4nglighetsprojekt utan det\" src=\"\/wp-content\/uploads\/2020\/05\/d2afe9c74b33765e55641b34def3145e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nP\u00e5 bilden visas mitten av processen. Vad har redan gjorts fram till den h\u00e4r punkten? Vi sa att vi ville g\u00f6ra en slavinspelare till den nya m\u00e4staren, Orchestrator b\u00f6rjade helt enkelt koppla om alla andra slavar till den, medan den nya m\u00e4staren fungerar som en transitmaskin. Med detta system uppst\u00e5r inga fel, alla slavar fungerar, Orchestrator tar bort VIP fr\u00e5n den gamla m\u00e4staren, flyttar den till den nya, s\u00e4tter read_only=0 och gl\u00f6mmer den gamla m\u00e4staren. Klart! Driftstoppet f\u00f6r v\u00e5r tj\u00e4nst \u00e4r den tid det tar att flytta VIP, det \u00e4r 2-3 sekunder.<\/p>\n<p>Det var allt f\u00f6r idag, tack alla. Snart kommer den andra artikeln om Orchestrator. I den v\u00e4lk\u00e4nda sovjetiska filmen \"Garaget\" sa en karakt\u00e4r: \"Jag skulle inte g\u00e5 med honom p\u00e5 spaning!\" S\u00e5, Orchestrator, jag skulle g\u00e5 med dig p\u00e5 spaning!<br \/>\n<br \/>K\u00e4lla: <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\/sv\/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=\"sv_SE\" \/>\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\/sv\/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 f\u00f6r MySQL: varf\u00f6r man inte kan bygga ett fel tolererande projekt utan det | ProHoster","description":"Varje stort projekt b\u00f6rjar med n\u00e5gra servrar. F\u00f6rst fanns det en DB-server, sedan lades slavar till f\u00f6r att skala l\u00e4sningar. Och h\u00e4r \u2014 stopp!","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/orchestrator-dlya-mysql-pochemu-bez-nego-nelzya-stroit-otkazoustojchivyj-proekt","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/82116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=82116"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/82116\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/82117"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=82116"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=82116"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=82116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}