{"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 man ohne ihn kein ausfallsicheres Projekt aufbauen kann","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Jedes gro\u00dfe Projekt begann mit ein paar Servern. Zuerst gab es einen DB-Server, dann kamen die Slaves hinzu, um das Lesen zu skalieren. Und hier \u2014 Stop! Es gibt nur einen Master, aber viele Slaves; wenn einer der Slaves ausf\u00e4llt, ist alles in Ordnung, aber wenn der Master ausf\u00e4llt \u2014 wird es schlecht: Downtime, Admins versuchen verzweifelt, den Server wieder zum Laufen zu bringen. Was tun? Den Master reservieren. Mein Kollege Pawel hat schon dar\u00fcber geschrieben, ich werde das nicht wiederholen. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/citymobil\/blog\/491044\/\">einen Artikel<\/a><\/noindex>Stattdessen werde ich erz\u00e4hlen, warum Sie unbedingt einen Orchestrator f\u00fcr MySQL ben\u00f6tigen!<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nFangen wir mit der Hauptfrage an: \u201eWie werden wir den Code auf die neue Maschine umschalten, 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 gleich sprechen. Es ist das einfachste und offensichtlichste, hat jedoch eine deutliche Einschr\u00e4nkung: Der Master, den wir reservieren werden, muss sich im L2-Segment mit der neuen Maschine befinden, das hei\u00dft, das zweite Rechenzentrum kann vergessen werden. Und ganz ehrlich, wenn man das Prinzip beachtet, dass ein gro\u00dfes L2 b\u00f6se ist, weil es nur auf dem Rack ist und zwischen den Racks L3, hat ein solches Schema noch mehr Einschr\u00e4nkungen.<\/li>\n<li>Es ist m\u00f6glich, im Code den DNS-Namen zu hinterlegen und ihn \u00fcber \/etc\/hosts aufzul\u00f6sen. Tats\u00e4chlich wird es keine Aufl\u00f6sung geben. Der Vorteil des Schemas: Es gibt keine Einschr\u00e4nkung, die f\u00fcr die erste Methode charakteristisch ist, das hei\u00dft, man kann auch Cross-Datacenter organisieren. Aber dann stellt sich die offensichtliche Frage, wie schnell wir die \u00c4nderung \u00fcber Puppet-Ansible in \/etc\/hosts bringen k\u00f6nnen.<\/li>\n<li>Eine zweite Methode kann leicht modifiziert werden: Auf allen Web-Servern installieren wir einen DNS-Cache, \u00fcber den der Code auf die Master-Datenbank zugreift. Man kann eine TTL von 60 f\u00fcr diesen Eintrag im DNS festlegen. Es scheint, dass die Methode bei richtiger Implementierung gut ist.<\/li>\n<li>Das Schema mit Service Discovery, das den Einsatz von Consul und etcd impliziert.<\/li>\n<li>Eine interessante Option mit <noindex><a rel=\"nofollow\" href=\"https:\/\/proxysql.com\/\">ProxySQL<\/a><\/noindex>. Der gesamte Traffic zu MySQL muss durch ProxySQL geleitet werden, ProxySQL kann selbst feststellen, wer gerade der Master ist. \u00dcbrigens kann man \u00fcber eine der Verwendungsm\u00f6glichkeiten dieses Produkts in meinem <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/citymobil\/blog\/501730\/\">Artikel<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nDer Autor von Orchestrator hat, w\u00e4hrend er bei Github arbeitete, zun\u00e4chst das erste Schema mit VIP implementiert 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 man ohne ihn kein ausfallsicheres Projekt aufbauen kann\" src=\"\/wp-content\/uploads\/2020\/05\/b08220e7aa6336229cbbfedd78afdcc3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nIch werde sofort die offensichtlichen Situationen beschreiben, die ber\u00fccksichtigt werden m\u00fcssen:<\/p>\n<ul>\n<li>Die VIP-Adresse darf in keiner Konfiguration auf einem der Server festgelegt werden. Stellen wir uns vor: Der Master hat sich neu gestartet, w\u00e4hrend er hochf\u00e4hrt, ist Orchestrator in den Failover-Modus gegangen und hat einen der Slaves zum Master erkl\u00e4rt; dann erscheint der alte Master wieder, und jetzt gibt es VIP auf zwei Maschinen. Das ist schlecht.<\/li>\n<li>F\u00fcr den Orchestrator muss ein Skript geschrieben werden, das den alten Master und den neuen Master anspricht. Auf dem alten muss ifdown ausgef\u00fchrt werden, und auf dem neuen Master \u2014 ifup vip. Es w\u00e4re auch gut, in dieses Skript aufzunehmen, dass im Falle eines Failovers der Port am Switch des alten Masters einfach abgeschaltet wird, um jegliches Split-Brain zu vermeiden.<\/li>\n<li>Nachdem der Orchestrator Ihr Skript aufgerufen hat, um zuerst die VIP zu entfernen 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 muss read_only=1 eingestellt sein, und sobald Sie den Slave zum Master bef\u00f6rdern, sollte er read_only=0 haben.<\/li>\n<li>Denken Sie daran, dass jeder Slave, den wir f\u00fcr diesen Zweck ausgew\u00e4hlt haben, ein Master werden kann (der Orchestrator hat einen gesamten Mechanismus zur Bevorzugung, welcher Slave zuerst als neuer Master in Betracht gezogen wird, welcher als zweites und welcher Slave unter keinen Umst\u00e4nden als Master gew\u00e4hlt werden sollte). Wenn ein Slave Master wird, bleibt seine Last die eines Slaves und die eines Masters wird zus\u00e4tzlich hinzugef\u00fcgt, das muss ber\u00fccksichtigt werden.<\/li>\n<\/ul>\n<p>\nWarum ben\u00f6tigen Sie unbedingt den Orchestrator, wenn Sie ihn nicht haben?<\/p>\n<ul>\n<li>Der Orchestrator hat eine sehr benutzerfreundliche grafische Oberfl\u00e4che, die die gesamte Topologie anzeigt (siehe Screenshot unten).<\/li>\n<li>Der Orchestrator kann verfolgen, welche Slaves hinterherhinken und wo die Replikation v\u00f6llig fehlgeschlagen ist (wir haben Skripte f\u00fcr den Orchestrator, um SMS zu senden).<\/li>\n<li>Der Orchestrator sagt Ihnen, auf welchen Slaves ein GTID-Fehler vorliegt.<\/li>\n<\/ul>\n<p>\nBenutzeroberfl\u00e4che des Orchestrators:<\/p>\n<p><img decoding=\"async\" alt=\"Orchestrator f\u00fcr MySQL: Warum man ohne ihn kein ausfallsicheres Projekt aufbauen kann\" src=\"\/wp-content\/uploads\/2020\/05\/5129a85ad1c0a5db8e3ecf501cff0d0d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nWas ist ein GTID-Fehler?<\/p>\n<p>Es gibt zwei grundlegende Anforderungen an die Verwendung des Orchestrators:<\/p>\n<ul>\n<li>Es muss sichergestellt sein, dass auf allen Maschinen des MySQL-Clusters das pseudo GTID aktiviert ist, bei uns ist GTID aktiviert.<\/li>\n<li>Es muss \u00fcberall ein einheitlicher Typ von Bin\u00e4rlogs vorhanden sein, Statement ist m\u00f6glich. Wir hatten eine solche Konfiguration, bei der auf dem Master und den meisten Slaves Row war, w\u00e4hrend auf zwei historisch der Modus Mixed geblieben ist. Infolgedessen wollte der Orchestrator diese Slaves einfach nicht mit dem neuen Master verbinden.<\/li>\n<\/ul>\n<p>\nDenken Sie daran, dass das Wichtigste an einem Production-Slave seine Konsistenz mit dem Master ist! Wenn sowohl auf dem Master als auch auf dem Slave die Global Transaction ID (GTID) aktiviert ist, kann durch die Funktion gtid_subset \u00fcberpr\u00fcft werden, ob tats\u00e4chlich dieselben \u00c4nderungsanfragen auf diesen Maschinen ausgef\u00fchrt wurden. Weitere Informationen k\u00f6nnen Sie dazu hier lesen. <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 Fehler GTID errant, dass es auf dem Slave Transaktionen gibt, die nicht auf dem Master vorhanden sind. Warum passiert das?<\/p>\n<ul>\n<li>Der Slave hat read_only=1 nicht aktiviert, jemand hat sich angeschlossen und eine Daten\u00e4nderungsanfrage ausgef\u00fchrt.<\/li>\n<li>Der Slave hat super_read_only=1 nicht aktiviert, daher hat der Administrator, verwirrt \u00fcber den Server, sich angemeldet und dort eine Anfrage ausgef\u00fchrt.<\/li>\n<li>Wenn Sie beide vorherigen Punkte ber\u00fccksichtigt haben, gibt es noch einen weiteren Trick: In MySQL wird die Anfrage zum flush der Binlogs ebenfalls in das Binlog aufgenommen. Daher erscheint beim ersten flush auf dem Master und auf allen Slaves ein GTID errant. Wie kann man das vermeiden? In perona-5.7.25-28 wurde die Einstellung binlog_skip_flush_commands=1 eingef\u00fchrt, die verhindert, dass flush in die Binlogs geschrieben wird. Auf der Website mysql.com gibt es entsprechende Informationen. <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 momentan nicht im Failover-Modus verwenden m\u00f6chten, setzen Sie ihn in den \u00dcberwachungsmodus. Dann haben Sie stets eine \u00dcbersichtskarte der Interaktion zwischen MySQL-Maschinen sowie anschauliche Informationen dar\u00fcber, welche Art der Replikation auf jeder Maschine vorhanden ist, ob die Slaves hinterherhinken und, das Wichtigste, wie konsistent sie mit dem Master sind!<\/p>\n<p>Eine offensichtliche Frage: 'Wie sollte Orchestrator eigentlich funktionieren?'. Er sollte einen neuen Master aus den aktuellen Slaves ausw\u00e4hlen und dann alle Slaves mit ihm verbinden (genau daf\u00fcr wird GTID ben\u00f6tigt; wenn das alte Mechanismus mit binlog_name und binlog_pos verwendet wird, ist der Wechsel des Slaves vom aktuellen Master zu einem neuen einfach unm\u00f6glich!). Bevor wir Orchestrator hatten, musste ich einmal alles manuell machen. Der alte Master hing wegen eines fehlerhaften Adaptec-Controllers, er hatte etwa 10 Slaves. Ich musste die VIP vom Master auf einen der Slaves \u00fcbertragen und alle anderen Slaves mit ihm verbinden. Wie viele Konsolen musste ich \u00f6ffnen, wie viele gleichzeitige Befehle eingeben\u2026 Ich musste bis 3 Uhr morgens warten, die Last von allen Slaves, au\u00dfer zwei, nehmen, die erste Maschine aus den beiden als Master festlegen, sofort die zweite Maschine anschlie\u00dfen, dann alle anderen Slaves zum neuen Master verbinden und die Last zur\u00fcckgeben. Kurz gesagt, schrecklich\u2026<\/p>\n<p>Wie funktioniert Orchestrator, wenn er in den Failover-Modus wechselt? Am einfachsten l\u00e4sst sich das anhand einer Situation zeigen, in der wir eine leistungsf\u00e4higere, modernere Maschine als Master einrichten m\u00f6chten. <\/p>\n<p><img decoding=\"async\" alt=\"Orchestrator f\u00fcr MySQL: Warum man ohne ihn kein ausfallsicheres Projekt aufbauen kann\" 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 Zeitpunkt bereits gemacht? Wir haben gesagt, dass wir einen Slave zum neuen Master machen wollen, der Orchestrator hat einfach begonnen, alle anderen Slaves neu zu verbinden, w\u00e4hrend der neue Master als Transitmaschine fungiert. Bei diesem Schema treten keine Fehler auf, alle Slaves arbeiten, der Orchestrator nimmt die VIP vom alten Master, \u00fcbertr\u00e4gt sie auf den neuen, setzt read_only=0 und vergisst den alten Master. Das ist alles! Die Ausfallzeit unseres Dienstes betr\u00e4gt die Zeit f\u00fcr die \u00dcbertragung der VIP, das sind 2-3 Sekunden.<\/p>\n<p>Das w\u00e4re alles f\u00fcr heute, vielen Dank. Bald erscheint der zweite Artikel \u00fcber Orchestrator. In dem bekannten sowjetischen Film 'Garage' sagte ein Charakter: 'Mit ihm w\u00fcrde ich nicht in die Aufkl\u00e4rung gehen!' Nun, 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 5.0.1.1 - 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\/de\/blog\/administrirovanie\/orchestrator-dlya-mysql-pochemu-bez-nego-nelzya-stroit-otkazoustojchivyj-proekt\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\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!\" \/>\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 man ohne ihn kein ausfallsicheres Projekt aufbauen kann | ProHoster","description":"Jedes gro\u00dfe Projekt begann mit ein paar Servern. Zuerst gab es einen DB-Server, dann wurden Slave-Server hinzugef\u00fcgt, um das Lesen zu skalieren. Und hier \u2014 Stopp!","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!","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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"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}]}}