{"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\/es\/blog\/administrirovanie\/orchestrator-dlya-mysql-pochemu-bez-nego-nelzya-stroit-otkazoustojchivyj-proekt","title":{"rendered":"Orchestrador para MySQL: por qu\u00e9 es imprescindible para construir un proyecto tolerante a fallos","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Cualquier gran proyecto comenz\u00f3 con un par de servidores. Primero hubo un servidor de base de datos, luego se a\u00f1adieron esclavos para escalar la lectura. Y aqu\u00ed\u2014\u00a1alto! Hay un maestro y muchos esclavos; si uno de los esclavos se va, todo estar\u00e1 bien, pero si el maestro se va, ser\u00e1 un problema: tiempo de inactividad, los administradores se apresuran a levantar el servidor. \u00bfQu\u00e9 hacer? Reservar el maestro. Mi colega Pavel ya ha escrito sobre esto <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/citymobil\/blog\/491044\/\">art\u00edculo<\/a><\/noindex>, no lo repetir\u00e9. En su lugar, les contar\u00e9 por qu\u00e9 necesitan un Orchestrator para MySQL.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nComencemos con la pregunta principal: \"\u00bfC\u00f3mo vamos a cambiar el c\u00f3digo a la nueva m\u00e1quina cuando el maestro se vaya?\".<\/p>\n<ul>\n<li>El esquema con VIP (IP Virtual) es el que m\u00e1s me gusta, y de eso hablaremos a continuaci\u00f3n. Es el m\u00e1s sencillo y evidente, aunque tiene una limitaci\u00f3n clara: el maestro que vamos a reservar debe estar en el segmento L2 con la nueva m\u00e1quina, es decir, se puede olvidar del segundo centro de datos. Adem\u00e1s, si seguimos la regla de que un gran L2 es un mal, porque el L2 solo va en la estanter\u00eda, y entre estanter\u00edas es L3, un esquema as\u00ed tiene a\u00fan m\u00e1s limitaciones.<\/li>\n<li>Se puede escribir el nombre DNS en el c\u00f3digo y resolverlo a trav\u00e9s de \/etc\/hosts. En realidad, no habr\u00e1 resoluci\u00f3n. La ventaja del esquema es que no hay la limitaci\u00f3n que caracteriza al primer m\u00e9todo, es decir, se puede organizar incluso cross-Datacenter. Pero entonces surge la pregunta obvia, \u00bfqu\u00e9 tan r\u00e1pido llevaremos el cambio a \/etc\/hosts a trav\u00e9s de Puppet-Ansible?<\/li>\n<li>Se puede modificar un poco el segundo m\u00e9todo: en todos los servidores web instalamos DNS cach\u00e9, por el cual el c\u00f3digo consultar\u00e1 la base de datos maestro. Se puede establecer un TTL de 60 para este registro en DNS. Parece que con la implementaci\u00f3n correcta el m\u00e9todo es bueno.<\/li>\n<li>El esquema con descubrimiento de servicios, que implica el uso de Consul y etcd.<\/li>\n<li>Una variante interesante con <noindex><a rel=\"nofollow\" href=\"https:\/\/proxysql.com\/\">ProxySQL<\/a><\/noindex>. Se debe redirigir todo el tr\u00e1fico a MySQL a trav\u00e9s de ProxySQL, que puede determinar qui\u00e9n es actualmente el maestro. De hecho, se puede leer sobre una de las variantes de uso de este producto en mi <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/citymobil\/blog\/501730\/\">el art\u00edculo<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nEl autor de Orchestrator, trabajando en Github, primero implement\u00f3 el primer esquema con VIP y luego lo rehizo al esquema con Consul.<\/p>\n<p>Esquema t\u00edpico de infraestructura:<\/p>\n<p><img decoding=\"async\" alt=\"Orchestrador para MySQL: por qu\u00e9 es imprescindible para construir un proyecto tolerante a fallos\" src=\"\/wp-content\/uploads\/2020\/05\/b08220e7aa6336229cbbfedd78afdcc3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDescribir\u00e9 de inmediato las situaciones obvias que deben tenerse en cuenta:<\/p>\n<ul>\n<li>La direcci\u00f3n VIP no debe estar configurada en el archivo de configuraci\u00f3n de ninguno de los servidores. Imaginemos la situaci\u00f3n: el maestro se reinici\u00f3, y mientras se carga, Orchestrator entra en modo failover y hace de uno de los esclavos el nuevo maestro; luego se levanta el antiguo maestro, y ahora VIP est\u00e1 en dos m\u00e1quinas. Esto es malo.<\/li>\n<li>Para el orquestador, ser\u00e1 necesario escribir un script para comunicarse con el antiguo maestro y el nuevo maestro. En el antiguo, se debe ejecutar ifdown, y en el nuevo maestro, se debe ejecutar ifup vip. Tambi\u00e9n ser\u00eda bueno incluir en este script que, en caso de failover, el puerto en el conmutador del antiguo maestro simplemente se apague para evitar cualquier split-brain.<\/li>\n<li>Despu\u00e9s de que el Orquestador invoque su script para primero quitar el VIP y\/o apagar el puerto en el conmutador, y luego invoque el script para levantar el VIP en el nuevo maestro, no olvide usar el comando arping para avisar a todos que el nuevo VIP ahora est\u00e1 aqu\u00ed.<\/li>\n<li>Todos los esclavos deben tener read_only=1, y tan pronto como promueva un esclavo a maestro, este debe cambiar a read_only=0.<\/li>\n<li>No olvide que cualquier esclavo que seleccionemos puede convertirse en maestro (el Orquestador tiene todo un mecanismo de preferencia para determinar qu\u00e9 esclavo considerar primero como candidato a nuevo maestro, cu\u00e1l en segundo lugar y cu\u00e1l nunca debe ser elegido como maestro bajo ninguna circunstancia). Si un esclavo se convierte en maestro, mantendr\u00e1 la carga del esclavo y a\u00f1adir\u00e1 la carga del maestro, esto debe tenerse en cuenta.<\/li>\n<\/ul>\n<p>\n\u00bfPor qu\u00e9 necesita necesariamente un Orquestador si no lo tiene?<\/p>\n<ul>\n<li>El Orquestador tiene una interfaz gr\u00e1fica muy conveniente que muestra toda la topolog\u00eda (vea la captura de pantalla a continuaci\u00f3n).<\/li>\n<li>El Orquestador puede rastrear qu\u00e9 esclavos est\u00e1n atrasados y d\u00f3nde ha fallado completamente la replicaci\u00f3n (tenemos scripts conectados al Orquestador para enviar SMS).<\/li>\n<li>El Orquestador le dice en qu\u00e9 esclavos hay un error de GTID errant.<\/li>\n<\/ul>\n<p>\nInterfaz del Orquestador:<\/p>\n<p><img decoding=\"async\" alt=\"Orchestrador para MySQL: por qu\u00e9 es imprescindible para construir un proyecto tolerante a fallos\" src=\"\/wp-content\/uploads\/2020\/05\/5129a85ad1c0a5db8e3ecf501cff0d0d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n\u00bfQu\u00e9 es un GTID errant?<\/p>\n<p>Hay dos requisitos principales para que funcione el Orquestador:<\/p>\n<ul>\n<li>Es necesario que en todas las m\u00e1quinas del cl\u00faster MySQL est\u00e9 activado pseudo GTID; en nuestro caso, GTID est\u00e1 habilitado.<\/li>\n<li>Es necesario que haya un solo tipo de binlogs en todas partes, puede ser statement. Tuvimos una configuraci\u00f3n donde el maestro y la mayor\u00eda de los esclavos ten\u00edan Row, pero en dos historicamente qued\u00f3 el modo Mixed. Como resultado, estos esclavos simplemente no fueron aceptados por el Orquestador en el nuevo maestro.<\/li>\n<\/ul>\n<p>\nRecuerde que lo m\u00e1s importante en un esclavo de producci\u00f3n es su consistencia con el maestro. Si tiene GTID habilitado tanto en el maestro como en el esclavo, a trav\u00e9s de la funci\u00f3n gtid_subset puede verificar si realmente se han ejecutado las mismas instrucciones de modificaci\u00f3n de datos en estas m\u00e1quinas. Puede leer m\u00e1s sobre esto. <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\/\">aqu\u00ed<\/a><\/noindex>.<\/p>\n<p>Por lo tanto, Orchestrator le muestra a trav\u00e9s del error GTID errante que en el esclavo hay transacciones que no est\u00e1n en el maestro. \u00bfPor qu\u00e9 sucede esto?<\/p>\n<ul>\n<li>El read_only=1 no est\u00e1 habilitado en el esclavo, alguien se conect\u00f3 y ejecut\u00f3 una consulta para modificar datos.<\/li>\n<li>El super_read_only=1 no est\u00e1 habilitado en el esclavo, por lo que un administrador, confundiendo el servidor, se conect\u00f3 y ejecut\u00f3 una consulta all\u00ed.<\/li>\n<li>Si ha tenido en cuenta los dos puntos anteriores, hay otro truco: en MySQL, la consulta para hacer flush de los binlogs tambi\u00e9n se registra en el binlog, por lo que con el primer flush en el maestro y en todos los esclavos aparecer\u00e1 un GTID errante. \u00bfC\u00f3mo evitar esto? En perona-5.7.25-28 se introdujo la configuraci\u00f3n binlog_skip_flush_commands=1, que proh\u00edbe escribir flush en los binlogs. En el sitio mysql.com hay registrado <noindex><a rel=\"nofollow\" href=\"https:\/\/bugs.mysql.com\/bug.php?id=88720\">bug<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nResumiendo todo lo mencionado anteriormente. Si a\u00fan no desea utilizar Orchestrator en modo de failover, config\u00farelo en modo de supervisi\u00f3n. As\u00ed siempre tendr\u00e1 frente a usted un mapa de interacci\u00f3n de las m\u00e1quinas MySQL y una informaci\u00f3n visual sobre qu\u00e9 tipo de replicaci\u00f3n hay en cada m\u00e1quina, si los esclavos se est\u00e1n atrasando y, lo m\u00e1s importante, \u00a1cu\u00e1n consistentes son con el maestro!<\/p>\n<p>La pregunta obvia es: \"\u00bfC\u00f3mo debe funcionar Orchestrator?\". Debe seleccionar un nuevo maestro de los esclavos actuales y luego reconectar todos los esclavos a \u00e9l (\u00a1para esto se necesita GTID; si se utiliza el antiguo mecanismo con binlog_name y binlog_pos, entonces el cambio del esclavo del maestro actual al nuevo simplemente es imposible!). Antes de que tuvi\u00e9ramos Orchestrator, una vez tuve que hacer todo esto manualmente. El antiguo maestro se colgaba debido a un controlador Adaptec defectuoso y ten\u00eda alrededor de 10 esclavos. Necesitaba mover el VIP del maestro a uno de los esclavos y reconectar todos los dem\u00e1s esclavos a \u00e9l. Cu\u00e1ntas consolas tuve que abrir, cu\u00e1ntos comandos simult\u00e1neos introducir... Tuve que esperar hasta las 3 de la ma\u00f1ana, quitar la carga de todos los esclavos, excepto de dos, hacer de la primera m\u00e1quina la nueva maestra de las dos, conectar la segunda m\u00e1quina a ella, luego conectar todos los dem\u00e1s esclavos al nuevo maestro y devolver la carga. En resumen, un desastre\u2026<\/p>\n<p>\u00bfC\u00f3mo funciona Orchestrator cuando entra en modo de failover? Es m\u00e1s f\u00e1cil mostrarlo con el ejemplo de una situaci\u00f3n en la que queremos convertir una m\u00e1quina m\u00e1s potente y moderna en el nuevo maestro que la que tenemos actualmente. <\/p>\n<p><img decoding=\"async\" alt=\"Orchestrador para MySQL: por qu\u00e9 es imprescindible para construir un proyecto tolerante a fallos\" src=\"\/wp-content\/uploads\/2020\/05\/d2afe9c74b33765e55641b34def3145e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nLa imagen muestra el centro del proceso. \u00bfQu\u00e9 se hab\u00eda hecho antes de este momento? Dijimos que quer\u00edamos hacer que un esclavo se convirtiera en un nuevo maestro, el Orchestrator comenz\u00f3 a reconectar todos los dem\u00e1s esclavos a \u00e9l, mientras que el nuevo maestro act\u00faa como una m\u00e1quina de tr\u00e1nsito. Con este esquema no hay errores, todos los esclavos funcionan, el Orchestrator quita el VIP del antiguo maestro, lo mueve al nuevo, establece read_only=0 y olvida el antiguo maestro. \u00a1Eso es todo! El tiempo de inactividad de nuestro servicio es el tiempo que toma transferir el VIP, son 2-3 segundos.<\/p>\n<p>Eso es todo por hoy, gracias a todos. Pronto habr\u00e1 un segundo art\u00edculo sobre Orchestrator. En una conocida pel\u00edcula sovi\u00e9tica \u00abGara\u017c\u00bb, un personaje dijo: \u00ab\u00a1No ir\u00eda con \u00e9l a la exploraci\u00f3n!\u00bb As\u00ed que, Orchestrator, \u00a1yo ir\u00eda contigo a la exploraci\u00f3n!<br \/>\n<br \/>Fuente: <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.2 - 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\/es\/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.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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\/es\/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 para MySQL: por qu\u00e9 es imprescindible para construir un proyecto a prueba de fallos | ProHoster","description":"Cualquier gran proyecto comenz\u00f3 con un par de servidores. Primero hab\u00eda un servidor de base de datos, luego se a\u00f1adieron esclavos para escalar la lectura. Y aqu\u00ed \u2014 \u00a1alto!","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/orchestrator-dlya-mysql-pochemu-bez-nego-nelzya-stroit-otkazoustojchivyj-proekt","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/82116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=82116"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/82116\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/82117"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=82116"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=82116"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=82116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}