{"id":82113,"date":"2020-05-19T13:42:51","date_gmt":"2020-05-19T11:42:51","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/orchestrator-i-vip-kak-ha-reshenie-dlya-klastera-mysql"},"modified":"2020-05-19T13:42:51","modified_gmt":"2020-05-19T11:42:51","slug":"orchestrator-i-vip-kak-ha-reshenie-dlya-klastera-mysql","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/orchestrator-i-vip-kak-ha-reshenie-dlya-klastera-mysql","title":{"rendered":"Orchestrator dhe VIP si zgjidhje HA p\u00ebr grupin MySQL","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>N\u00eb Sitimobil, ne p\u00ebrdorim baz\u00ebn e t\u00eb dh\u00ebnave MySQL si magazin\u00ebn kryesore t\u00eb t\u00eb dh\u00ebnave t\u00eb p\u00ebrhershme. Kemi disa grupe t\u00eb t\u00eb dh\u00ebnave p\u00ebr sh\u00ebrbime dhe objektiva t\u00eb ndryshme.<\/p>\n<p>Disponueshm\u00ebria e vazhdueshme e masterit \u00ebsht\u00eb nj\u00eb tregues kritik i funksionimit t\u00eb gjith\u00eb sistemit dhe pjes\u00ebve t\u00eb tij. Rind\u00ebrtimi automatik i grupit n\u00eb rastin e d\u00ebshtimit t\u00eb masterit zvog\u00eblon ndjesh\u00ebm koh\u00ebn e p\u00ebrgjigjes ndaj incidenteve dhe koh\u00ebn e papun\u00ebsis\u00eb s\u00eb sistemit. N\u00eb k\u00ebt\u00eb artikull do t\u00eb shqyrtoj skem\u00ebn e sigurimit t\u00eb disponueshm\u00ebris\u00eb s\u00eb lart\u00eb (HA) t\u00eb grupit MySQL t\u00eb bazuar n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/github\/orchestrator\">MySQL Orchestrator<\/a><\/noindex> dhe adresave IP virtuale (VIP).<\/p>\n<p><img decoding=\"async\" alt=\"Orchestrator dhe VIP si zgjidhje HA p\u00ebr grupin MySQL\" src=\"\/wp-content\/uploads\/2020\/05\/a76ef93caee0fc13d2afb12c25a25531.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h1>Zgjidhje HA e bazuar n\u00eb VIP<\/h1>\n<p>\nM\u00eb par\u00eb do t\u00eb shpjegoj shkurtimisht se \u00e7far\u00eb ka sistemi yn\u00eb i ruajtjes s\u00eb t\u00eb dh\u00ebnave.<\/p>\n<p>Ne p\u00ebrdorim nj\u00eb skem\u00eb klasike replikimi me nj\u00eb master t\u00eb vet\u00ebm, i cili \u00ebsht\u00eb i disponuesh\u00ebm p\u00ebr shkrim, dhe shum\u00eb replika, t\u00eb cilat p\u00ebrdoren vet\u00ebm p\u00ebr lexim. Klienti mund t\u00eb p\u00ebrmbaj\u00eb nj\u00eb master t\u00eb mes\u00ebm \u2014 nj\u00eb nyje q\u00eb \u00ebsht\u00eb nj\u00ebkoh\u00ebsisht dhe nj\u00eb replik\u00eb, dhe master p\u00ebr t\u00eb tjer\u00ebt. Klient\u00ebt i drejtohen kopjeve p\u00ebrmes HAProxy, q\u00eb lejon shp\u00ebrndarjen e barabart\u00eb t\u00eb ngarkes\u00ebs dhe leht\u00ebsi n\u00eb shkall\u00ebzim. P\u00ebrdorimi i HAProxy \u00ebsht\u00eb p\u00ebr shkak t\u00eb arsyeve historike, dhe tani jemi n\u00eb procesin e migrimit n\u00eb ProxySQL.<\/p>\n<p>Replikimi kryhet n\u00eb nj\u00eb mod t\u00eb gjysm\u00eb sinkronizuar bazuar n\u00eb <code>GTID<\/code>. Kjo do t\u00eb thot\u00eb se t\u00eb pakt\u00ebn nj\u00eb replik\u00eb duhet t\u00eb regjistroj\u00eb transaksionin n\u00eb regjist\u00ebr, p\u00ebrpara se t\u00eb njihet si e suksesshme. Ky mod replikimi ofron balancimin optimal midis performanc\u00ebs dhe ruajtjes s\u00eb t\u00eb dh\u00ebnave n\u00eb rast se ndodhi d\u00ebshtimi i nyj\u00ebs kryesore. Kryesisht, t\u00eb gjitha ndryshimet transmetohen nga masteri n\u00eb replik\u00eb p\u00ebrmes <code>Replikimit t\u00eb Bazeve t\u00eb Rreshtit (RBR)<\/code>, por disa nyje mund t\u00eb ken\u00eb <code>formati mixed binlog<\/code>.<\/p>\n<p>Orkestratori p\u00ebrdit\u00ebson periodikisht gjendjen e topologjis\u00eb s\u00eb klasterit, analizon informacionin e marr\u00eb dhe n\u00eb rast problemi mund t\u00eb nis\u00eb procedur\u00ebn e rikuperimit automatik. P\u00ebr vet\u00eb procedur\u00ebn p\u00ebrgjigjet zhvilluesi, pasi ajo mund t\u00eb realizohet n\u00eb m\u00ebnyra t\u00eb ndryshme: n\u00eb baz\u00eb t\u00eb VIP, DNS, duke p\u00ebrdorur sh\u00ebrbime zbulimi t\u00eb sh\u00ebrbimeve (service discovery) ose mekanizma t\u00eb shkruar vet\u00eb. <\/p>\n<p>Nj\u00eb nga m\u00ebnyrat e thjeshta p\u00ebr t\u00eb rikuperuar master-in n\u00eb rast d\u00ebshtimi \u00ebsht\u00eb p\u00ebrdorimi i adresave VIP l\u00ebviz\u00ebse.<\/p>\n<p>\u00c7far\u00eb duhet t\u00eb dim\u00eb rreth k\u00ebtij zgjidhjeje para se t\u00eb vazhdojm\u00eb:<\/p>\n<ul>\n<li>VIP \u00ebsht\u00eb nj\u00eb adres\u00eb IP q\u00eb nuk \u00ebsht\u00eb e lidhur me nj\u00eb nd\u00ebrfaqe fizike t\u00eb caktuar t\u00eb rrjetit. Kur nj\u00eb nyje d\u00ebshton ose gjat\u00eb punimeve t\u00eb planifikuara, mund t\u00eb nd\u00ebrrojm\u00eb VIP n\u00eb nj\u00eb burim tjet\u00ebr me minimumin e koh\u00ebs s\u00eb papun\u00ebsis\u00eb.\n<\/li>\n<li>\u00c7lirimi dhe l\u00ebshimi i nj\u00eb adrese IP virtuale jan\u00eb operacione t\u00eb lira dhe t\u00eb shpejta.\n<\/li>\n<li>P\u00ebr t\u00eb punuar me VIP, k\u00ebrkohet qasje n\u00eb serverin p\u00ebrmes SSH, ose p\u00ebrdorimi i utilitareve speciale, p\u00ebr shembull, <code>keepalived<\/code>.\n<\/li>\n<\/ul>\n<p>\nLe t\u00eb shqyrtojm\u00eb problemet e mundshme me master-in ton\u00eb dhe t\u00eb paraqesim se si duhet t\u00eb funksionoj\u00eb mekanizmi i rikuperimit automatik.<\/p>\n<h4>Ka humbur lidhja rrjet me masterin, ose ka ndodhur nj\u00eb problem n\u00eb nivelin e \"harduerit\", dhe serveri nuk \u00ebsht\u00eb i aksesuesh\u00ebm.<\/h4>\n<p><\/p>\n<ol>\n<li>Orkestratori po p\u00ebrdit\u00ebson topologjin\u00eb e klasterit, \u00e7do replik\u00eb raporton p\u00ebr mosp\u00ebrfshirjen e masterit. Orkestratori nis procesin e zgjedhjes s\u00eb nj\u00eb replice t\u00eb p\u00ebrshtatshme p\u00ebr rolin e masterit t\u00eb ri dhe fillon rikuperimin.\n<\/li>\n<li>Po p\u00ebrpiqemi t\u00eb heqim VIP nga masteri i vjet\u00ebr \u2014 pa sukses.\n<\/li>\n<li>Repika kalon n\u00eb rolin e masterit. Topologjia rind\u00ebrtohet.\n<\/li>\n<li>Po shtojm\u00eb nj\u00eb nd\u00ebrfaqe t\u00eb re rrjeti me VIP. Duke qen\u00eb se nuk arrit\u00ebm ta heqim VIP-in, n\u00eb sfond nisnim nj\u00eb d\u00ebrgim t\u00eb rregullt t\u00eb k\u00ebrkes\u00ebs. <b>gratuitous ARP<\/b>. Ky lloj k\u00ebrkese\/faqe lejon p\u00ebrdit\u00ebsimin n\u00eb switch-at e lidhur t\u00eb tabel\u00ebs s\u00eb p\u00ebrputhjes s\u00eb IP- dhe MAC-adresave, duke njoftuar k\u00ebshtu p\u00ebr zhvendosjen e VIP-it ton\u00eb. Kjo minimizon probabilitetin e <code>split brain<\/code> n\u00eb kthimin e masterit t\u00eb vjet\u00ebr. \n<\/li>\n<li>T\u00eb gjitha lidhjet e reja menj\u00ebher\u00eb redirektohen n\u00eb masterin e ri. Lidhjet e vjetra p\u00ebrfundojn\u00eb me d\u00ebshtim, duke kryer k\u00ebrkesa t\u00eb p\u00ebrs\u00ebritura n\u00eb DB n\u00eb nivelin e aplikacionit.\n<\/li>\n<\/ol>\n<p><\/p>\n<h4>Serveri punon n\u00eb modalitet normal, \u00ebsht\u00eb shfaqur nj\u00eb d\u00ebshtim n\u00eb nivelin e DBMS.<\/h4>\n<p>\nAlgoritmi \u00ebsht\u00eb i ngjash\u00ebm me rastin e m\u00ebparsh\u00ebm: p\u00ebrmir\u00ebsimi i topologjis\u00eb dhe nisja e procesit t\u00eb rikuperimit. Duke qen\u00eb se serveri \u00ebsht\u00eb n\u00eb dispozicion, ne me sukses lirojm\u00eb VIP-in n\u00eb master-in e vjet\u00ebr, e transferojm\u00eb at\u00eb tek ai i ri dhe d\u00ebrgojm\u00eb disa k\u00ebrkesa ARP. Rikthimi i mundsh\u00ebm i master-it t\u00eb vjet\u00ebr nuk duhet t\u00eb ndikoj\u00eb n\u00eb klasterin e nd\u00ebrtuar dhe funksionimin e aplikacionit.<\/p>\n<h4>Problemet e tjera<\/h4>\n<p>\nD\u00ebshtimi i kopjeve ose master\u00ebve t\u00eb nd\u00ebrmjet\u00ebm <em>nuk \u00e7on<\/em> n\u00eb veprime automatike dhe k\u00ebrkon nd\u00ebrhyrje manuale.<\/p>\n<p>Interface-i virtual i rrjetit gjithmon\u00eb shtohet p\u00ebrkoh\u00ebsisht, dometh\u00ebn\u00eb pas rindizjes s\u00eb serverit VIP nuk i caktohet automatikisht. \u00c7do instanc\u00eb e DB fillon p\u00ebr default n\u00eb modin e leximit vet\u00ebm, orkestratori automatikisht nd\u00ebrron master-in e ri n\u00eb shkrim dhe provon t\u00eb vendos\u00eb <code>lexim vet\u00ebm<\/code> n\u00eb master-in e vjet\u00ebr. K\u00ebto veprime synojn\u00eb t\u00eb zvog\u00eblojn\u00eb probabilitetin <code>split brain<\/code>.<\/p>\n<p>Gjat\u00eb procesit t\u00eb rikuperimit mund t\u00eb ndodhin probleme, p\u00ebr t\u00eb cilat gjithashtu duhet t\u00eb njoftohet p\u00ebrmes UI t\u00eb orkestratorit p\u00ebrve\u00e7 mjeteve standarde t\u00eb monitorimit. Ne kemi zgjeruar REST API-n\u00eb, duke shtuar k\u00ebt\u00eb mund\u00ebsi (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/openark\/orchestrator\/pull\/1088\">PR<\/a><\/noindex> aktualisht \u00ebsht\u00eb n\u00eb shqyrtim).<\/p>\n<p>Diagrami i p\u00ebrgjithsh\u00ebm i zgjidhjes HA paraqitet m\u00eb posht\u00eb.<\/p>\n<p><img decoding=\"async\" alt=\"Orchestrator dhe VIP si zgjidhje HA p\u00ebr grupin MySQL\" src=\"\/wp-content\/uploads\/2020\/05\/485dbbc8f2b1a7595f5fa4f36ad92f7e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h1>Zgjedhja e masterit t\u00eb ri<\/h1>\n<p>\nOrkestratori \u00ebsht\u00eb mjaft i men\u00e7ur dhe p\u00ebrpiqet t\u00eb zgjedh\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/openark\/orchestrator\/blob\/5126b849ae4f655e1cbe0fbddfa0d7299674f712\/go\/inst\/instance_utils.go#L112\">replik\u00ebn m\u00eb t\u00eb p\u00ebrshtatshme<\/a><\/noindex> si master t\u00eb ri sipas kritereve t\u00eb m\u00ebposhtme:<\/p>\n<ul>\n<li>distanca e replik\u00ebs nga masteri;\n<\/li>\n<li>versioni i MySQL t\u00eb masterit dhe replik\u00ebs;\n<\/li>\n<li>tipo i replikimit (RBR, SBR ose mixed);\n<\/li>\n<li>pozita n\u00eb t\u00eb nj\u00ebjtin ose n\u00eb qendra t\u00eb ndryshme t\u00eb t\u00eb dh\u00ebnave;\n<\/li>\n<li>pranin\u00eb <code>GTID i gabuar<\/code> \u2014 transaksionet q\u00eb jan\u00eb kryer n\u00eb replik\u00eb dhe mungojn\u00eb n\u00eb master;\n<\/li>\n<li>rregullat e zgjedhjes t\u00eb p\u00ebrdoruesve gjithashtu merren parasysh.\n<\/li>\n<\/ul>\n<p>\nJo \u00e7do replik\u00eb \u00ebsht\u00eb nj\u00eb kandidat\u00eb ideal p\u00ebr rolin e masterit. P\u00ebr shembull, nj\u00eb replik\u00eb mund t\u00eb p\u00ebrdoret p\u00ebr backup t\u00eb t\u00eb dh\u00ebnave, ose serveri ka nj\u00eb konfigurim t\u00eb dob\u00ebt t\u00eb 'harduerit'. Orkestratori <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/openark\/orchestrator\/blob\/master\/docs\/topology-recovery.md#adding-promotion-rules\">mb\u00ebshtet<\/a><\/noindex> rregulla manuale, me ndihm\u00ebn e t\u00eb cilave mund t\u00eb p\u00ebrcaktoni preferencat tuaja p\u00ebr zgjedhjen e kandidatit nga m\u00eb t\u00eb preferuarit deri tek ata q\u00eb injorohen.<\/p>\n<h1>Koha e reagimit dhe rikuperimit<\/h1>\n<p>\nN\u00eb rast incidenti, \u00ebsht\u00eb e r\u00ebnd\u00ebsishme t\u00eb minimizohet koha e pezullimit t\u00eb sistemit, prandaj do t\u00eb shqyrtojm\u00eb parametrat e MySQL q\u00eb ndikojn\u00eb n\u00eb nd\u00ebrtimin dhe p\u00ebrdit\u00ebsimin e topologjis\u00eb s\u00eb klasterit nga orkestratori:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/dev.mysql.com\/doc\/refman\/5.7\/en\/replication-options-slave.html#sysvar_slave_net_timeout\"><code>slave_net_timeout<\/code><\/a><\/noindex> \u2014 numri i sekondave gjat\u00eb t\u00eb cil\u00ebve nj\u00eb replik\u00eb pret p\u00ebr t\u00eb marr\u00eb t\u00eb dh\u00ebna t\u00eb reja ose sinjalin heartbeat nga masteri, para se lidhja t\u00eb njihet si e humbur dhe t\u00eb kryhet ri-lidhja. Sa m\u00eb e vog\u00ebl t\u00eb jet\u00eb vlera, aq m\u00eb shpejt do t\u00eb jet\u00eb n\u00eb gjendje replikimi t\u00eb p\u00ebrcaktoj\u00eb se lidhja me masterin \u00ebsht\u00eb prishur. Ne e vendosim k\u00ebt\u00eb vler\u00eb n\u00eb 5 sekonda.\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/dev.mysql.com\/doc\/refman\/5.7\/en\/change-master-to.html\"><code>MASTER_CONNECT_RETRY<\/code><\/a><\/noindex> \u2014 numri i sekondave midis p\u00ebrpjekjeve p\u00ebr ri-lidhje. N\u00eb rast t\u00eb problemeve t\u00eb rrjetit, nj\u00eb vler\u00eb e ul\u00ebt e k\u00ebtij parametri do t\u00eb lejoj\u00eb ri-lidhjen e shpejt\u00eb dhe do t\u00eb parandaloj\u00eb nisjen e procesit t\u00eb rikuperimit t\u00eb klasterit. Vlera e rekomanduar \u00ebsht\u00eb 1 sekond.\n<\/li>\n<li><code>MASTER_RETRY_COUNT<\/code> \u2014 numri maksimal i p\u00ebrpjekjeve p\u00ebr ri-lidhje. \n<\/li>\n<li><code>MASTER_HEARTBEAT_PERIOD<\/code> \u2014 intervali n\u00eb sekonda, pas t\u00eb cilit masteri d\u00ebrgon sinjalin heartbeat. Me default \u00ebsht\u00eb gjysma e vler\u00ebs <code>slave_net_timeout<\/code>.\n<\/li>\n<\/ul>\n<p>\nParametrat e orkestratorit:<\/p>\n<ul>\n<li><code>DelayMasterPromotionIfSQLThreadNotUpToDate<\/code> \u2014 n\u00ebse \u00ebsht\u00eb i barabart\u00eb me <code>e v\u00ebrtet\u00eb<\/code>, roli i masterit nuk do t\u00eb aplikohet n\u00eb replik\u00ebn-kandidate derisa rrjeta SQL e replik\u00ebs t\u00eb ket\u00eb p\u00ebrfunduar t\u00eb gjitha transaksionet e pap\u00ebrfunduara nga Relay Log. Ne e p\u00ebrdorim k\u00ebt\u00eb opsion p\u00ebr t\u00eb mos humbur transaksionet n\u00eb kushte t\u00eb prapambetjes s\u00eb t\u00eb gjith\u00eb replikave-kandidate.\n<\/li>\n<li><code>InstancePollSeconds<\/code> \u2014 frekuenca e nd\u00ebrtimit dhe azhurnimit t\u00eb topologjis\u00eb.\n<\/li>\n<li><code>RecoveryPollSeconds<\/code> \u2014 frekuenca e analiz\u00ebs s\u00eb topologjis\u00eb. N\u00eb rast se zbulohet nj\u00eb problem, niset rikthimi i topologjis\u00eb. Kjo<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/github\/orchestrator\/blob\/548265494b3107ca2581d6ccee059e062a759b77\/go\/config\/config.go#L45\"> konstante<\/a><\/noindex>, e barabart\u00eb me 1 sekond\u00eb.\n<\/li>\n<\/ul>\n<p>\n\u00c7do nyje e klasterit kontrollohet nga orkestratori nj\u00eb her\u00eb n\u00eb <code>InstancePollSeconds<\/code> sekond\u00eb. N\u00eb rast zbulimi t\u00eb nj\u00eb problemi, gjendja e klasterit p\u00ebrdit\u00ebsohet me forc\u00eb<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/github\/orchestrator\/blob\/548265494b3107ca2581d6ccee059e062a759b77\/go\/logic\/topology_recovery.go#L1409\"> , dhe pastaj merret nj\u00eb vendim p\u00ebrfundimtar p\u00ebr t\u00eb realizuar rikthimin. Duke eksperimentuar me parametra t\u00eb ndrysh\u00ebm t\u00eb DB-s\u00eb dhe orkestratorit, kemi arritur t\u00eb zvog\u00eblojm\u00eb koh\u00ebn e reagimit dhe rikthimit n\u00eb 30 sekonda.<\/a><\/noindex>, dhe pastaj merret nj\u00eb vendim p\u00ebrfundimtar mbi kryerjen e rikthimit. Duke eksperimentuar me parametra t\u00eb ndrysh\u00ebm t\u00eb DB dhe orkestratorit, arrit\u00ebm t\u00eb ulni koh\u00ebn e p\u00ebrgjigjes dhe rikthimit n\u00eb 30 sekonda.<\/p>\n<h1>Nj\u00ebsia e testimit<\/h1>\n<p>\nTestimin e skem\u00ebs HA e nisim me zhvillimin e nj\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ParshinPavel\/mysql-ha-sandbox\">stende testuese<\/a><\/noindex> dhe implementimin e m\u00ebtejsh\u00ebm n\u00eb mjediset testuese dhe t\u00eb prodhimit. Stenda lokale \u00ebsht\u00eb plot\u00ebsisht e automatizuar mbi baz\u00ebn e Docker dhe lejon eksperimentimin me konfigurimin e orkestratorit dhe rrjetit, duke shkall\u00ebzuar klasterin nga 2-3 server\u00eb n\u00eb disa dhjet\u00ebra dhe duke realizuar st\u00ebrvitje n\u00eb nj\u00eb ambient t\u00eb sigurt. <\/p>\n<p>Gjat\u00eb st\u00ebrvitjeve, ne zgjedhim nj\u00eb nga metodat e simulimit t\u00eb problemit: t\u00eb q\u00ebllojm\u00eb menj\u00ebher\u00eb master-in me <code>kill -9<\/code>, t\u00eb p\u00ebrfundojm\u00eb but\u00ebsisht procesin dhe t\u00eb ndalojm\u00eb serverin (<code>docker-compose stop<\/code>), imituar probleme me rrjetin duke p\u00ebrdorur <code>iptables -j REJECT<\/code> ose <code>iptables -j DROP<\/code>. Ne presim rezultate t\u00eb tilla:<\/p>\n<ul>\n<li>orkestratori do t\u00eb zbuloj\u00eb problemet me masterin dhe do t\u00eb azhurnoj\u00eb topologjin\u00eb brenda 10 sekondave;\n<\/li>\n<li>procedura e rikuperimit do t\u00eb niset automatikisht: konfigurimi i rrjetit do t\u00eb ndryshoj\u00eb, roli i masterit do t\u2019i kaloj\u00eb nj\u00eb replikimi, topologjia do t\u00eb ristrukturohet;\n<\/li>\n<li>masteri i ri do t\u00eb b\u00ebhet i accesuesh\u00ebm p\u00ebr t\u00eb shkruar, dhe replikat aktive nuk do t\u00eb humbasin gjat\u00eb procesit t\u00eb ristrukturimit;\n<\/li>\n<li>t\u00eb dh\u00ebnat do t\u00eb fillojn\u00eb t\u00eb regjistrohen n\u00eb masterin e ri dhe t\u00eb replikohen;\n<\/li>\n<li>koha totale e rikuperimit do t\u00eb jet\u00eb jo m\u00eb shum\u00eb se 30 sekonda.\n<\/li>\n<\/ul>\n<p>\nSi\u00e7 e dini, sistemi mund t\u00eb sillet ndryshe n\u00eb ambientet testuese dhe production p\u00ebr shkak t\u00eb konfigurimeve t\u00eb ndryshme t\u00eb \u2018harduerit\u2019 dhe rrjetit, dallimeve midis ngarkes\u00ebs sintetike dhe reale etj. Prandaj, periodicisht ne zhvillojm\u00eb ushtrime n\u00eb kushte reale, duke testuar se si sillet sistemi gjat\u00eb humbjes s\u00eb lidhjes rrjetore ose degradimit t\u00eb pjes\u00ebve t\u00eb saj. N\u00eb t\u00eb ardhmen, duam t\u00eb nd\u00ebrtojm\u00eb nj\u00eb infrastruktur\u00eb plot\u00ebsisht identike p\u00ebr t\u00eb dy ambientet dhe ta automatizojm\u00eb testimin e saj.<\/p>\n<h1>P\u00ebrfundimet<\/h1>\n<p>\nFunksionaliteti i nyjes kryesore t\u00eb sistemit t\u00eb ruajtjes t\u00eb dh\u00ebnash \u00ebsht\u00eb nj\u00eb nga detyrat kryesore t\u00eb ekipit SRE dhe t\u00eb operacioneve. Implementimi i orkestruesit dhe zgjidhjes HA t\u00eb bazuar n\u00eb VIP ka mund\u00ebsuar arritjen e rezultateve t\u00eb m\u00ebposhtme:<\/p>\n<ul>\n<li>zbulim t\u00eb besuesh\u00ebm t\u00eb problemeve me topologjin\u00eb e klasterit t\u00eb DB;\n<\/li>\n<li>reagim automatike dhe t\u00eb shpejt\u00eb ndaj incidenteve q\u00eb lidhen me masterin, gj\u00eb q\u00eb ul koh\u00ebn e papun\u00ebsis\u00eb s\u00eb sistemit.\n<\/li>\n<\/ul>\n<p>\nMegjithat\u00eb, zgjidhja ka kufizime dhe disavantazhe:<\/p>\n<ul>\n<li>shkall\u00ebzimi i skem\u00ebs HA n\u00eb disa QENDRA t\u00eb DAD-it do t\u00eb k\u00ebrkoj\u00eb nj\u00eb rrjet L2 t\u00eb p\u00ebrbashk\u00ebt midis tyre;\n<\/li>\n<li>p\u00ebrpara se t\u00eb caktojm\u00eb VIP n\u00eb masterin e ri, na nevojitet t\u00eb lironim at\u00eb n\u00eb t\u00eb vjetrin. Procesi \u00ebsht\u00eb sekuencial, gj\u00eb q\u00eb rrit koh\u00ebn e rikthimit;\n<\/li>\n<li>lirimi i VIP k\u00ebrkon akses SSH n\u00eb server, ose ndonj\u00eb mund\u00ebsi tjet\u00ebr p\u00ebr thirrjen e procedurave t\u00eb larg\u00ebta. N\u00ebse serveri ose DB ka probleme q\u00eb shkaktojn\u00eb procesin e rikthimit, nuk mund t\u00eb jemi t\u00eb sigurt se heqja e VIP do t\u00eb p\u00ebrfundoj\u00eb me sukses. Kjo mund t\u00eb \u00e7oj\u00eb n\u00eb dy server\u00eb me t\u00eb nj\u00ebjtin adres\u00eb IP virtuale dhe t\u00eb krijoj\u00eb nj\u00eb problem <code>split brain<\/code>.\n<\/li>\n<\/ul>\n<p>\nP\u00ebr t\u00eb shmangur <code>split brain<\/code>, mund t\u00eb p\u00ebrdorim metod\u00ebn <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/STONITH\">STONITH<\/a><\/noindex> (\u00abShoot The Other Node In The Head\u00bb), i cili izolon plot\u00ebsisht ose \u00e7aktivizon nyj\u00ebn problematike. Ekzistojn\u00eb edhe m\u00ebnyra t\u00eb tjera p\u00ebr t\u00eb realizuar disponueshm\u00ebrin\u00eb e lart\u00eb t\u00eb grupit: kombinimi i VIP dhe DNS, zbulimi i sh\u00ebrbimeve dhe sh\u00ebrbimet proxy, replikimi sinkron dhe m\u00ebnyra t\u00eb tjera q\u00eb kan\u00eb avantazhe dhe disavantazhe t\u00eb veta.<\/p>\n<p>Kam folur p\u00ebr qasjen ton\u00eb n\u00eb krijimin e nj\u00eb grupi MySQL t\u00eb pap\u00ebrshkuesh\u00ebm nga d\u00ebshtimet. Ai \u00ebsht\u00eb i leht\u00eb p\u00ebr t'u zbatuar dhe siguron nj\u00eb nivel t\u00eb pranuesh\u00ebm t\u00eb besueshm\u00ebris\u00eb n\u00eb kushtet aktuale. Nd\u00ebrsa sistemi i t\u00ebr\u00eb dhe infrastruktura ve\u00e7 e ve\u00e7 do t\u00eb zhvillohen, kjo qasje padyshim do t\u00eb evoluoj\u00eb.<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/citymobil\/blog\/491044\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0421\u0438\u0442\u0438\u043c\u043e\u0431\u0438\u043b \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 MySQL \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0434 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u0446\u0435\u043b\u0438. \u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0435\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439. \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0442\u043a\u0430\u0437\u0430 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u0432\u0440\u0435\u043c\u044f \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442 \u0438 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":82114,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-82113","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=\"\u0412 \u0421\u0438\u0442\u0438\u043c\u043e\u0431\u0438\u043b \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 MySQL \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0434 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u0446\u0435\u043b\u0438. \u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0435\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439. \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0442\u043a\u0430\u0437\u0430 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u0432\u0440\u0435\u043c\u044f \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442 \u0438 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b.\" \/>\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\/sq\/blog\/administrirovanie\/orchestrator-i-vip-kak-ha-reshenie-dlya-klastera-mysql\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\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 \u0438 VIP \u043a\u0430\u043a HA-\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 MySQL | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0421\u0438\u0442\u0438\u043c\u043e\u0431\u0438\u043b \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 MySQL \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0434 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u0446\u0435\u043b\u0438. \u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0435\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439. \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0442\u043a\u0430\u0437\u0430 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u0432\u0440\u0435\u043c\u044f \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442 \u0438 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/orchestrator-i-vip-kak-ha-reshenie-dlya-klastera-mysql\" \/>\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:51+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-19T11:42:51+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 dhe VIP si zgjidhje HA p\u00ebr kasterin MySQL | ProHoster","description":"N\u00eb Sitimobil, ne p\u00ebrdorim baz\u00ebn e t\u00eb dh\u00ebnave MySQL si ruajtjen kryesore t\u00eb t\u00eb dh\u00ebnave t\u00eb q\u00ebndrueshme. Ne kemi disa kaster\u00eb t\u00eb t\u00eb dh\u00ebnave p\u00ebr sh\u00ebrbime dhe q\u00ebllime t\u00eb ndryshme. Disponueshm\u00ebria e q\u00ebndrueshme e masterit \u00ebsht\u00eb nj\u00eb tregues kritik i funksionimit t\u00eb gjith\u00eb sistemit dhe pjes\u00ebve t\u00eb tij. Rikuperimi automatik i kasterit n\u00eb rast d\u00ebshtimi t\u00eb masterit ul ndjesh\u00ebm koh\u00ebn e reagimit ndaj incidenteve dhe koh\u00ebn e ndaljes s\u00eb sistemit.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/orchestrator-i-vip-kak-ha-reshenie-dlya-klastera-mysql","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","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 \u0438 VIP \u043a\u0430\u043a HA-\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 MySQL | ProHoster","og:description":"\u0412 \u0421\u0438\u0442\u0438\u043c\u043e\u0431\u0438\u043b \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 MySQL \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0434 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u0446\u0435\u043b\u0438. \u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0435\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439. \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0442\u043a\u0430\u0437\u0430 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u0432\u0440\u0435\u043c\u044f \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442 \u0438 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/orchestrator-i-vip-kak-ha-reshenie-dlya-klastera-mysql","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:51+00:00","article:modified_time":"2020-05-19T11:42:51+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"82113","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:23","updated":"2022-09-28 00:08:45"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/82113","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=82113"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/82113\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/82114"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=82113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=82113"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=82113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}