{"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\/de\/blog\/administrirovanie\/orchestrator-dlya-mysql-pochemu-bez-nego-nelzya-stroit-otkazoustojchivyj-proekt","title":{"rendered":"Orchestrator f\u00fcr MySQL: Warum Sie ihn f\u00fcr den Aufbau eines ausfallsicheren Projekts unbedingt ben\u00f6tigen.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Jedes gr\u00f6\u00dfere Projekt begann mit ein paar Servern. Zun\u00e4chst gab es einen DB-Server, dann kamen Slave-Server hinzu, um das Lesevolumen zu skalieren. Und dann kommt der Stopp! Nur ein Master und viele Slaves; wenn einer der Slaves ausf\u00e4llt, ist das in Ordnung, aber wenn der Master ausf\u00e4llt \u2014 dann ist es schlecht: Ausfallzeit, Admins heben den Server aus der Todeszone. Was tun? Den Master reservieren. Mein Kollege Pavel hat bereits dar\u00fcber geschrieben <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/citymobil\/blog\/491044\/\">den Artikel<\/a><\/noindex>, ich werde dies nicht wiederholen. Stattdessen erkl\u00e4re ich, warum Sie unbedingt einen Orchestrator f\u00fcr MySQL ben\u00f6tigen!<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nLassen Sie uns mit der wichtigsten Frage beginnen: \u201eWie schalten wir den Code auf die neue Maschine um, wenn der Master ausf\u00e4llt?\u201c<\/p>\n<ul>\n<li>Das Schema mit VIP (Virtual IP) gef\u00e4llt mir am besten, dar\u00fcber werden wir auch gleich sprechen. Es ist das einfachste und offensichtlichste, hat aber eine klare Einschr\u00e4nkung: Der Master, den wir reservieren werden, muss sich im L2-Segment mit der neuen Maschine befinden, das hei\u00dft, das zweite Rechenzentrum k\u00f6nnen wir vergessen. Und ehrlich gesagt sollte man, wenn man der Regel folgt, dass ein gro\u00dfes L2 schlecht ist, weil es nur auf einem Rack existiert, und zwischen den Racks L3 ist, ber\u00fccksichtigen, dass ein solches Schema noch mehr Einschr\u00e4nkungen hat.<\/li>\n<li>Sie k\u00f6nnen den DNS-Namen im Code definieren und \u00fcber \/etc\/hosts aufl\u00f6sen. In Wirklichkeit wird jedoch keine Aufl\u00f6sung stattfinden. Der Vorteil dieses Ansatzes liegt darin, dass es keine Einschr\u00e4nkungen wie beim ersten Weg gibt, wodurch auch eine cross-Datacenter-Organisation m\u00f6glich ist. Nat\u00fcrlich stellt sich dann die offensichtliche Frage, wie schnell wir \u00c4nderungen \u00fcber Puppet-Ansible in \/etc\/hosts bereitstellen k\u00f6nnen.<\/li>\n<li>Eine kleine Modifikation des zweiten Ansatzes k\u00f6nnte sein: Auf allen Webservern einen caching DNS-Server zu installieren, \u00fcber den der Code auf die Master-Datenbank zugreift. Man kann f\u00fcr diesen DNS-Eintrag eine TTL von 60 setzen. Bei richtiger Implementierung scheint dieser Ansatz vielversprechend zu sein.<\/li>\n<li>Ein Schema zur Dienstentdeckung, das die Verwendung von Consul und etcd vorsieht.<\/li>\n<li>Eine interessante Variante mit <noindex><a rel=\"nofollow\" href=\"https:\/\/proxysql.com\/\">ProxySQL<\/a><\/noindex>. Der gesamte MySQL-Verkehr sollte \u00fcber ProxySQL geleitet werden, da ProxySQL in der Lage ist, den aktuellen Master automatisch zu erkennen. Eine der Einsatzm\u00f6glichkeiten dieses Produkts kann in meinem Artikel nachgelesen werden. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/citymobil\/blog\/501730\/\">Artikel<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nDer Autor Orchestrator hat bei seiner Arbeit in Github zun\u00e4chst das erste Schema mit VIP umgesetzt und dann auf das Schema mit Consul umgestellt.<\/p>\n<p>Typisches Infrastruktur-Schema:<\/p>\n<p><img decoding=\"async\" alt=\"Orchestrator f\u00fcr MySQL: Warum Sie ihn f\u00fcr den Aufbau eines ausfallsicheren Projekts unbedingt ben\u00f6tigen.\" src=\"\/wp-content\/uploads\/2020\/05\/b08220e7aa6336229cbbfedd78afdcc3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nIch werde sofort die offensichtlichen Situationen beschreiben, die man ber\u00fccksichtigen sollte:<\/p>\n<ul>\n<li>Die VIP-Adresse darf in der Konfiguration keines der Server eingetragen sein. Stellen Sie sich folgendes Szenario vor: Der Master wird neu gestartet, w\u00e4hrend der Orchestrator in den Failover-Modus wechselt und einen der Slaves zum neuen Master erhebt; dann startet der alte Master wieder, und jetzt gibt es die VIP-Adresse auf zwei Maschinen. Das ist problematisch.<\/li>\n<li>F\u00fcr den Orchestrator muss ein Skript zur Kommunikation mit dem alten und dem neuen Master geschrieben werden. Auf dem alten Master sollte ifdown ausgef\u00fchrt werden, w\u00e4hrend auf dem neuen Master ifup vip ausgef\u00fchrt wird. Es w\u00e4re au\u00dferdem gut, in dieses Skript aufzunehmen, dass im Fall eines Failovers der Port am Switch des alten Masters einfach abgeschaltet wird, um jeglichen Split-Brain zu vermeiden.<\/li>\n<li>Nachdem der Orchestrator Ihr Skript aufgerufen hat, um zun\u00e4chst die VIP abzuschalten und\/oder den Port am Switch abzuschalten, und dann auf dem neuen Master das Skript zum Aktivieren der VIP aufgerufen hat, vergessen Sie nicht, mit dem Befehl arping allen mitzuteilen, dass die neue VIP jetzt hier ist.<\/li>\n<li>Auf allen Slaves sollte read_only=1 gesetzt sein, und sobald Sie einen Slave zum Master bef\u00f6rdern, muss sich der Wert auf read_only=0 \u00e4ndern.<\/li>\n<li>Denken Sie daran, dass jeder Slave, den wir daf\u00fcr ausgew\u00e4hlt haben, zum Master werden kann (Orchestrator hat einen Mechanismus, um die Pr\u00e4ferenzen zu bestimmen, welcher Slave zun\u00e4chst als potenzieller Master in Betracht gezogen wird, welcher als zweites und welcher Slave unter keinen Umst\u00e4nden als Master ausgew\u00e4hlt werden sollte). Wenn ein Slave zum Master wird, beh\u00e4lt er die Last des Slaves und erh\u00e4lt zus\u00e4tzlich die Last des Masters, was ber\u00fccksichtigt werden muss.<\/li>\n<\/ul>\n<p>\nWarum ben\u00f6tigen Sie Orchestrator unbedingt, wenn Sie ihn noch nicht haben?<\/p>\n<ul>\n<li>Orchestrator bietet eine sehr benutzerfreundliche grafische Oberfl\u00e4che, die die gesamte Topologie anzeigt (siehe Screenshot unten).<\/li>\n<li>Orchestrator kann \u00fcberwachen, welche Slaves hinterherhinken und wo die Replikation sogar ganz gescheitert ist (wir haben Skripte an Orchestrator angeschlossen, die SMS senden).<\/li>\n<li>Orchestrator informiert Sie \u00fcber die Slaves, auf denen ein GTID-Fehler vorliegt.<\/li>\n<\/ul>\n<p>\nBenutzeroberfl\u00e4che von Orchestrator:<\/p>\n<p><img decoding=\"async\" alt=\"Orchestrator f\u00fcr MySQL: Warum Sie ihn f\u00fcr den Aufbau eines ausfallsicheren Projekts unbedingt ben\u00f6tigen.\" src=\"\/wp-content\/uploads\/2020\/05\/5129a85ad1c0a5db8e3ecf501cff0d0d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nWas ist also ein GTID-Fehler?<\/p>\n<p>Es gibt zwei grundlegende Voraussetzungen f\u00fcr den Betrieb von Orchestrator:<\/p>\n<ul>\n<li>Auf allen Maschinen des MySQL-Clusters muss pseudo GTID aktiviert sein, wir haben GTID aktiviert.<\/li>\n<li>Es ist wichtig, dass \u00fcberall der gleiche Typ von Bin\u00e4rprotokollen verwendet wird, vorzugsweise den Statement-Typ. Wir hatten eine Konfiguration, bei der auf dem Master und den meisten Slaves der Row-Modus aktiviert war, w\u00e4hrend bei zwei historisch der Mixed-Modus erhalten blieb. Infolgedessen wollte der Orchestrator diese Slaves einfach nicht mit dem neuen Master verbinden.<\/li>\n<\/ul>\n<p>\nDenken Sie daran, dass das Wichtigste bei einem Produktions-Slave seine Konsistenz mit dem Master ist! Wenn sowohl auf dem Master als auch auf dem Slave die Global Transaction ID (GTID) aktiviert ist, k\u00f6nnen Sie \u00fcber die Funktion gtid_subset \u00fcberpr\u00fcfen, ob auf diesen Maschinen tats\u00e4chlich die gleichen \u00c4nderungsanfragen ausgef\u00fchrt wurden. Weitere Informationen dazu finden Sie hier. <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\/\">hier<\/a><\/noindex>.<\/p>\n<p>So zeigt Ihnen der Orchestrator durch den GTID-Fehler an, dass es auf dem Slave Transaktionen gibt, die auf dem Master nicht vorhanden sind. Warum passiert das?<\/p>\n<ul>\n<li>Auf dem Slave ist read_only=1 nicht aktiviert, jemand hat sich verbunden und eine Anfrage zur Daten\u00e4nderung ausgef\u00fchrt.<\/li>\n<li>Auf dem Slave ist super_read_only=1 nicht aktiviert, sodass ein Administrator, der den Server verwechselt hat, sich dort angemeldet und eine Anfrage ausgef\u00fchrt hat.<\/li>\n<li>Wenn Sie die beiden vorherigen Punkte ber\u00fccksichtigt haben, gibt es noch einen weiteren Trick: In MySQL wird auch der Flush-Befehl f\u00fcr die Bin\u00e4rprotokolle in das Bin\u00e4rprotokoll aufgenommen. Daher wird beim ersten Flush auf dem Master und auf allen Slaves ein GTID-Fehler angezeigt. Wie kann man das vermeiden? In perona-5.7.25-28 gibt es die Einstellung binlog_skip_flush_commands=1, die das Schreiben von Flush-Befehlen in die Bin\u00e4rprotokolle verbietet. Weitere Informationen finden Sie auf mysql.com. <noindex><a rel=\"nofollow\" href=\"https:\/\/bugs.mysql.com\/bug.php?id=88720\">Fehler<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nZusammenfassend l\u00e4sst sich sagen: Wenn Sie Orchestrator derzeit nicht im Failover-Modus verwenden m\u00f6chten, setzen Sie ihn in den \u00dcberwachungsmodus. So haben Sie immer eine \u00dcbersicht \u00fcber die Interaktion der MySQL-Maschinen und die direkte Information dar\u00fcber, welcher Replikationstyp auf jeder Maschine l\u00e4uft, ob die Slaves hinterherhinken und vor allem, wie konsistent sie mit dem Master sind!<\/p>\n<p>Offensichtliche Frage: \u201eWie sollte der Orchestrator funktionieren?\u201c. Er sollte einen neuen Master aus den aktuellen Slaves ausw\u00e4hlen und dann alle Slaves zu ihm umschalten (gerade daf\u00fcr ist GTID notwendig; wenn man die alte Methode mit binlog_name und binlog_pos verwendet, ist ein Wechsel des Slaves vom aktuellen Master auf den neuen einfach unm\u00f6glich!). Bevor wir den Orchestrator hatten, musste ich einmal alles manuell durchf\u00fchren. Der alte Master hing wegen eines fehlerhaften Adaptec-Controllers, und ich hatte etwa 10 Slaves. Ich musste die VIP von dem Master auf einen der Slaves umschalten und alle anderen Slaves daran anschlie\u00dfen. Wie viele Konsolen musste ich \u00f6ffnen, wie viele gleichzeitige Befehle eingeben\u2026 Ich musste bis um 3 Uhr morgens warten, die Last von allen Slaves, au\u00dfer zwei, nehmen, die erste Maschine aus zwei zum Master machen, sofort die zweite Maschine anschlie\u00dfen und alle anderen Slaves wieder mit dem neuen Master verbinden und die Last zur\u00fcckgeben. Kurz gesagt, schrecklich\u2026<\/p>\n<p>Wie funktioniert der Orchestrator, wenn er in den Failover-Modus wechselt? Am besten l\u00e4sst sich das anhand einer Situation erkl\u00e4ren, in der wir eine leistungsst\u00e4rkere, moderne Maschine zum Master machen wollen, als die, die wir derzeit haben. <\/p>\n<p><img decoding=\"async\" alt=\"Orchestrator f\u00fcr MySQL: Warum Sie ihn f\u00fcr den Aufbau eines ausfallsicheren Projekts unbedingt ben\u00f6tigen.\" src=\"\/wp-content\/uploads\/2020\/05\/d2afe9c74b33765e55641b34def3145e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDas Bild zeigt die Mitte des Prozesses. Was wurde bis zu diesem Punkt bereits gemacht? Wir haben gesagt, dass wir einen bestimmten Slave zum neuen Master machen m\u00f6chten, der Orchestrator begann einfach, alle anderen Slaves an ihn wieder anzuschlie\u00dfen, w\u00e4hrend der neue Master die Rolle einer \u00dcbergangsmaschine einnimmt. Bei diesem Setup treten keine Fehler auf, alle Slaves arbeiten ordnungsgem\u00e4\u00df, der Orchestrator entfernt die VIP vom alten Master, \u00fcbertr\u00e4gt sie auf den neuen, stellt read_only=0 ein und vergisst den alten Master. Das wars! Die Ausfallzeit unseres Dienstes betr\u00e4gt die Zeit f\u00fcr die \u00dcbertragung der VIP, etwa 2-3 Sekunden.<\/p>\n<p>Das ist es f\u00fcr heute, vielen Dank. Bald wird der zweite Artikel \u00fcber den Orchestrator ver\u00f6ffentlicht. In einem bekannten sowjetischen Film \"Die Garage\" sagte ein Charakter: \"Ich w\u00fcrde nicht mit ihm in die Aufkl\u00e4rung gehen!\" Also, Orchestrator, ich w\u00fcrde mit dir in die Aufkl\u00e4rung gehen!<br \/>\n<br \/>Quelle: <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\/de\/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=\"de_DE\" \/>\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\/de\/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\u00fcr MySQL: Warum Sie ihn f\u00fcr den Aufbau eines ausfallsicheren Projekts ben\u00f6tigen | ProHoster","description":"Jedes gro\u00dfe Projekt begann mit ein paar Servern. Zuerst gab es einen DB-Server, dann kamen Slaves hinzu, um das Lesen zu skalieren. Und dann \u2013 stopp! Es gibt einen Master und viele Slaves; wenn einer der Slaves ausf\u00e4llt, ist alles in Ordnung, aber wenn der Master ausf\u00e4llt \u2013 wird es schlecht: Ausfallzeit, die Administratoren sind am Verzweifeln, um den Server wiederherzustellen. Was tun? Den Master reservieren. Mein","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/orchestrator-dlya-mysql-pochemu-bez-nego-nelzya-stroit-otkazoustojchivyj-proekt","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/82116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=82116"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/82116\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/82117"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=82116"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=82116"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=82116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}