{"id":73446,"date":"2020-03-09T20:41:59","date_gmt":"2020-03-09T17:41:59","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/pochemu-mozhet-ponadobitsya-polusinhronnaya-replikacziya"},"modified":"2020-03-09T20:41:59","modified_gmt":"2020-03-09T17:41:59","slug":"pochemu-mozhet-ponadobitsya-polusinhronnaya-replikacziya","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/pochemu-mozhet-ponadobitsya-polusinhronnaya-replikacziya","title":{"rendered":"Pro\u010d m\u016f\u017ee b\u00fdt pot\u0159ebn\u00e1 polusynchronn\u00ed replikace?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Ahoj v\u0161ichni. Tady je Vladislav Rodin. V sou\u010dasn\u00e9 dob\u011b u\u010d\u00edm na port\u00e1lu OTUS kurzy zam\u011b\u0159en\u00e9 na architekturu softwaru a architekturu softwaru vystaven\u00e9ho vysok\u00e9 z\u00e1t\u011b\u017ei. <b>P\u0159ed za\u010d\u00e1tkem nov\u00e9ho b\u011bhu kurzu <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/jvDY\/\">\u201eArchitekt vysok\u00fdch z\u00e1t\u011b\u017e\u00ed\u201c<\/a><\/noindex> jsem se rozhodl napsat mal\u00fd autorsk\u00fd materi\u00e1l, o kter\u00fd se s v\u00e1mi chci pod\u011blit.<\/b><\/i><\/p>\n<p><img decoding=\"async\" alt=\"Pro\u010d m\u016f\u017ee b\u00fdt pot\u0159ebn\u00e1 polusynchronn\u00ed replikace?\" src=\"\/wp-content\/uploads\/2020\/03\/c2a1ea514249f8fca1ab9f668a899981.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>\u00davod<\/h2>\n<p>\nVzhledem k tomu, \u017ee na HDD lze vykon\u00e1vat pouze p\u0159ibli\u017en\u011b 400-700 operac\u00ed za sekundu (co\u017e se ned\u00e1 srovn\u00e1vat s typick\u00fdmi rps, kter\u00e9 p\u0159ipadnou na vysoce zat\u00ed\u017een\u00fd syst\u00e9m), je klasick\u00e1 diskov\u00e1 datab\u00e1ze \u00fazk\u00fdm hrdlem architektury. Proto je nezbytn\u00e9 v\u011bnovat zvl\u00e1\u0161tn\u00ed pozornost vzor\u016fm \u0161k\u00e1lov\u00e1n\u00ed tohoto \u00falo\u017ei\u0161t\u011b.<\/p>\n<p>V sou\u010dasn\u00e9 dob\u011b existuj\u00ed 2 vzory \u0161k\u00e1lov\u00e1n\u00ed datab\u00e1ze: replikace a shardov\u00e1n\u00ed. Shardov\u00e1n\u00ed umo\u017e\u0148uje \u0161k\u00e1lovat operaci z\u00e1pisu a t\u00edm sni\u017eovat rps na z\u00e1pis, kter\u00e9 p\u0159ich\u00e1z\u00ed na jeden server va\u0161eho clusteru. Replikace umo\u017e\u0148uje d\u011blat tot\u00e9\u017e, ale s operacemi \u010dten\u00ed. Tento vzor je p\u0159edm\u011btem tohoto \u010dl\u00e1nku.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Replikace<\/h2>\n<p>\nPokud se pod\u00edv\u00e1me na replikaci zcela z povrchu, je to jednoduch\u00e1 z\u00e1le\u017eitost: m\u011bli jste jeden server, na n\u011bm\u017e le\u017eely data, a pak tento server p\u0159estal zvl\u00e1dat z\u00e1t\u011b\u017e na \u010dten\u00ed t\u011bchto dat. P\u0159id\u00e1te dal\u0161\u00ed servery, synchronizujete data na v\u0161ech serverech a u\u017eivatel m\u016f\u017ee \u010d\u00edst z libovoln\u00e9ho serveru va\u0161eho clusteru. <\/p>\n<p>Navzdory zd\u00e1nliv\u00e9 jednoduchosti existuje n\u011bkolik variant klasifikace r\u016fzn\u00fdch realizac\u00ed tohoto sch\u00e9matu:<\/p>\n<ul>\n<li>Podle rol\u00ed v clusteru (master-master nebo master-slave)<\/li>\n<li>Podle p\u0159en\u00e1\u0161en\u00fdch objekt\u016f (row-based, statement-based nebo mixed)<\/li>\n<li>Podle mechanismu synchronizace uzl\u016f<\/li>\n<\/ul>\n<p>\nDnes se pod\u00edv\u00e1me pr\u00e1v\u011b na t\u0159et\u00ed bod. <\/p>\n<h2>Jak prob\u00edh\u00e1 z\u00e1vazek transakce<\/h2>\n<p>\nToto t\u00e9ma se p\u0159\u00edmo net\u00fdk\u00e1 replikace, o n\u011bm by mohl b\u00fdt naps\u00e1n samostatn\u00fd \u010dl\u00e1nek, ale proto\u017ee bez pochopen\u00ed mechanismu z\u00e1vazku transakce by dal\u0161\u00ed \u010dten\u00ed bylo zbyte\u010dn\u00e9, dovol\u00edm si p\u0159ipomenout ty nejz\u00e1kladn\u011bj\u0161\u00ed v\u011bci. Z\u00e1vazek transakce prob\u00edh\u00e1 ve 3 f\u00e1z\u00edch:<\/p>\n<ol>\n<li>Z\u00e1pis transakce do protokolu datab\u00e1ze.<\/li>\n<li>Aplikace transakce v datab\u00e1zov\u00e9m enginu.<\/li>\n<li>Odesl\u00e1n\u00ed potvrzen\u00ed klientovi o \u00fasp\u011b\u0161n\u00e9m proveden\u00ed transakce.<\/li>\n<\/ol>\n<p>\nR\u016fzn\u00e9 datab\u00e1ze mohou m\u00edt v tomto algoritmu sv\u00e9 specifick\u00e9 rysy: nap\u0159\u00edklad v enginu InnoDB datab\u00e1ze MySQL existuj\u00ed 2 protokoly: jeden pro replikaci (binary log) a druh\u00fd pro zaji\u0161t\u011bn\u00ed ACID (undo\/redor log), zat\u00edmco PostgreSQL m\u00e1 jeden protokol, kter\u00fd vykon\u00e1v\u00e1 ob\u011b funkce (write ahead log = WAL). Ale zde je p\u0159edstavena obecn\u00e1 koncepce, kter\u00e1 tyto nuance ignoruje.<\/p>\n<h2>Synchronn\u00ed (sync) replikace<\/h2>\n<p>\nP\u0159idejme do algoritmu potvrzen\u00ed transakce logiku replikace z\u00edskan\u00fdch zm\u011bn:<\/p>\n<ol>\n<li>Z\u00e1pis transakce do protokolu datab\u00e1ze.<\/li>\n<li>Aplikace transakce v datab\u00e1zov\u00e9m enginu.<\/li>\n<li><b>Odesl\u00e1n\u00ed dat na v\u0161echny repliky.<\/b><\/li>\n<li><b>Obdr\u017een\u00ed potvrzen\u00ed od v\u0161ech replik o proveden\u00ed transakce.<\/b><\/li>\n<li>Odesl\u00e1n\u00ed potvrzen\u00ed klientovi o \u00fasp\u011b\u0161n\u00e9m proveden\u00ed transakce.<\/li>\n<\/ol>\n<p>\nTento p\u0159\u00edstup n\u00e1m p\u0159in\u00e1\u0161\u00ed \u0159adu nev\u00fdhod: <\/p>\n<ul>\n<li>klient \u010dek\u00e1 na aplikaci zm\u011bn na v\u0161ech replik\u00e1ch.<\/li>\n<li>se zvy\u0161uj\u00edc\u00edm se po\u010dtem uzl\u016f v clusteru sni\u017eujeme pravd\u011bpodobnost, \u017ee operace z\u00e1pisu prob\u011bhne \u00fasp\u011b\u0161n\u011b.<\/li>\n<\/ul>\n<p>\nZat\u00edmco prvn\u00ed bod je v\u00edce m\u00e9n\u011b jasn\u00fd, d\u016fvody druh\u00e9ho bodu je t\u0159eba objasnit. Pokud p\u0159i synchronn\u00ed replikaci neobdr\u017e\u00edme odpov\u011b\u010f alespo\u0148 od jednoho uzlu, transakce se vr\u00e1t\u00ed zp\u011bt. T\u00edmto zp\u016fsobem, kdy\u017e zvy\u0161ujete po\u010det uzl\u016f v clusteru, zvy\u0161ujete pravd\u011bpodobnost, \u017ee operace z\u00e1pisu sel\u017ee. <\/p>\n<p>M\u016f\u017eeme \u010dekat na potvrzen\u00ed pouze od ur\u010dit\u00e9 \u010d\u00e1sti uzl\u016f, nap\u0159\u00edklad od 51 % (kv\u00f3rum)? Ano, m\u016f\u017eeme, nicm\u00e9n\u011b v klasick\u00e9 variant\u011b je po\u017eadov\u00e1no potvrzen\u00ed od v\u0161ech uzl\u016f, proto\u017ee pouze tak zajist\u00edme plnou konzistenci dat v clusteru, co\u017e p\u0159edstavuje nepochybnou v\u00fdhodu tohoto typu replikace.<\/p>\n<h2>Asynchronn\u00ed (async) replikace<\/h2>\n<p>\nUpravme p\u0159edchoz\u00ed algoritmus. Data na repliky budeme pos\u00edlat \"n\u011bkdy pozd\u011bji\" a \"n\u011bkdy pozd\u011bji\" budou zm\u011bny na replik\u00e1ch aplikov\u00e1ny:<\/p>\n<ol>\n<li>Z\u00e1pis transakce do protokolu datab\u00e1ze.<\/li>\n<li>Aplikace transakce v datab\u00e1zov\u00e9m enginu.<\/li>\n<li>Odesl\u00e1n\u00ed potvrzen\u00ed klientovi o \u00fasp\u011b\u0161n\u00e9m proveden\u00ed transakce.<\/li>\n<li><b>Odesl\u00e1n\u00ed dat na repliky a aplikace zm\u011bn jimi.<\/b><\/li>\n<\/ol>\n<p>\nTento p\u0159\u00edstup vede k tomu, \u017ee cluster pracuje rychle, proto\u017ee nedr\u017e\u00edme klienta na \u010dekac\u00ed listin\u011b, dokud se data nedostanou k replik\u00e1m a je\u0161t\u011b je potvrzeny.<\/p>\n<p>Ale podm\u00ednka odes\u00edl\u00e1n\u00ed dat na repliky \"n\u011bkdy pozd\u011bji\" m\u016f\u017ee v\u00e9st k ztr\u00e1t\u011b transakce, a to dokonce ztr\u00e1t\u011b potvrzen\u00e9 u\u017eivatelem, proto\u017ee pokud se data nestihla replikovat a potvrzen\u00ed o \u00fasp\u011b\u0161n\u00e9m proveden\u00ed operace bylo odesl\u00e1no klientovi, ale uzlu, na kter\u00fd p\u0159i\u0161ly zm\u011bny, selhal HDD, ztr\u00e1c\u00edme transakci, co\u017e m\u016f\u017ee m\u00edt velmi nep\u0159\u00edjemn\u00e9 n\u00e1sledky.<\/p>\n<h2>Polosynchronn\u00ed (semisync) replikace<\/h2>\n<p>\nKone\u010dn\u011b jsme se dostali k polosychronn\u00ed replikaci. Tento typ replikace nen\u00ed p\u0159\u00edli\u0161 zn\u00e1m\u00fd a nen\u00ed moc roz\u0161\u00ed\u0159en, ale p\u0159esto n\u00e1s zaj\u00edm\u00e1, proto\u017ee m\u016f\u017ee kombinovat v\u00fdhody jak synchronn\u00ed, tak asynchronn\u00ed replikace.<\/p>\n<p>Zkus\u00edme spojit dva p\u0159edchoz\u00ed p\u0159\u00edstupy. Nechceme dlouho zadr\u017eovat klienta, ale po\u017eadujeme, aby se data replikovala:<\/p>\n<ol>\n<li>Z\u00e1pis transakce do protokolu datab\u00e1ze.<\/li>\n<li>Aplikace transakce v datab\u00e1zov\u00e9m enginu.<\/li>\n<li><b>Odes\u00edl\u00e1n\u00ed dat na repliky.<\/b><\/li>\n<li><b>Z\u00edsk\u00e1n\u00ed potvrzen\u00ed od repliky o p\u0159ijet\u00ed zm\u011bn (aplikov\u00e1ny budou 'n\u011bkdy pozd\u011bji').<\/b><\/li>\n<li>Odesl\u00e1n\u00ed potvrzen\u00ed klientovi o \u00fasp\u011b\u0161n\u00e9m proveden\u00ed transakce.<\/li>\n<\/ol>\n<p>\nV\u0161imn\u011bte si, \u017ee p\u0159i tomto algoritmu doch\u00e1z\u00ed ke ztr\u00e1t\u011b transakce pouze v p\u0159\u00edpad\u011b, \u017ee sel\u017ee jak uzel p\u0159ij\u00edmaj\u00edc\u00ed zm\u011bny, tak uzel-replika. Pravd\u011bpodobnost takov\u00e9 poruchy je pova\u017eov\u00e1na za malou a toto riziko je p\u0159ij\u00edm\u00e1no. <\/p>\n<p>P\u0159i tomto p\u0159\u00edstupu v\u0161ak existuje riziko fantomov\u00fdch \u010dten\u00ed. P\u0159edstavme si n\u00e1sleduj\u00edc\u00ed sc\u00e9n\u00e1\u0159: v kroku 4 jsme nedostali potvrzen\u00ed od \u017e\u00e1dn\u00e9 repliky. Mus\u00edme tuto transakci vr\u00e1tit zp\u011bt a klientovi nevr\u00e1t\u00edme potvrzen\u00ed. Vzhledem k tomu, \u017ee data byla aplikov\u00e1na v kroku 2, mezi ukon\u010den\u00edm kroku 2 a vr\u00e1cen\u00edm transakce se objevuje \u010dasov\u00fd interval, b\u011bhem n\u011bho\u017e paraleln\u00ed transakce mohou vid\u011bt ty zm\u011bny, kter\u00e9 by v datab\u00e1zi b\u00fdt nem\u011bly. <\/p>\n<h2>Lose-less semisync replikace<\/h2>\n<p>\nPokud o tom chvilku pop\u0159em\u00fd\u0161l\u00edme, m\u016f\u017eeme jednodu\u0161e vym\u011bnit kroky algoritmu a vy\u0159e\u0161it probl\u00e9m fantomov\u00fdch \u010dten\u00ed v tomto sc\u00e9n\u00e1\u0159i:<\/p>\n<ol>\n<li>Z\u00e1pis transakce do protokolu datab\u00e1ze.<\/li>\n<li><b>Odes\u00edl\u00e1n\u00ed dat repliky.<\/b><\/li>\n<li><b>Z\u00edsk\u00e1n\u00ed potvrzen\u00ed od repliky o p\u0159ijet\u00ed zm\u011bn (aplikov\u00e1ny budou 'n\u011bkdy pozd\u011bji').<\/b><\/li>\n<li>Aplikace transakce v datab\u00e1zov\u00e9m enginu.<\/li>\n<li>Odesl\u00e1n\u00ed potvrzen\u00ed klientovi o \u00fasp\u011b\u0161n\u00e9m proveden\u00ed transakce.<\/li>\n<\/ol>\n<p>\nNyn\u00ed zm\u011bny potvrzujeme pouze, pokud byly replikov\u00e1ny. <\/p>\n<h2>V\u00fdstup<\/h2>\n<p>\nJak u\u017e to b\u00fdv\u00e1, neexistuj\u00ed dokonal\u00e1 \u0159e\u0161en\u00ed, existuje soubor \u0159e\u0161en\u00ed, z nich\u017e ka\u017ed\u00e9 m\u00e1 sv\u00e9 v\u00fdhody a nev\u00fdhody a je vhodn\u00e9 pro \u0159e\u0161en\u00ed r\u016fzn\u00fdch t\u0159\u00edd \u00faloh. To plat\u00ed i pro v\u00fdb\u011br mechanismu synchronizace dat v replikovan\u00e9 datab\u00e1zi. Soubor v\u00fdhod, kter\u00e9 polosychronn\u00ed replikace nab\u00edz\u00ed, je dostate\u010dn\u011b v\u00fdznamn\u00fd a zaj\u00edmav\u00fd, aby ji bylo mo\u017en\u00e9 pova\u017eovat za zasluhuj\u00edc\u00ed pozornost, i p\u0159es jej\u00ed n\u00edzkou roz\u0161\u00ed\u0159enost.<\/p>\n<p><b>To je v\u0161e. Na vid\u011bnou na <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/jvDY\/\">kurzu<\/a><\/noindex>!<\/b><br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/491106\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442. \u041d\u0430 \u0441\u0432\u044f\u0437\u0438 \u0412\u043b\u0430\u0434\u0438\u0441\u043b\u0430\u0432 \u0420\u043e\u0434\u0438\u043d. \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u044f \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u044e \u043d\u0430 \u043f\u043e\u0440\u0442\u0430\u043b\u0435 OTUS \u043a\u0443\u0440\u0441\u044b, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u044b\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u041f\u041e \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u041f\u041e, \u043f\u043e\u0434\u0432\u0435\u0440\u0436\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435. \u0412 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0440\u0442\u0430 \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430 \u043a\u0443\u0440\u0441\u0430 \u00ab\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u0432\u044b\u0441\u043e\u043a\u0438\u0445 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u043a\u00bb \u044f \u0440\u0435\u0448\u0438\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0430\u0432\u0442\u043e\u0440\u0441\u043a\u0438\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438. \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0418\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043d\u0430 HDD \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043b\u0438\u0448\u044c \u043f\u043e\u0440\u044f\u0434\u043a\u0430 400-700 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":73447,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-73446","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.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442. \u041d\u0430 \u0441\u0432\u044f\u0437\u0438 \u0412\u043b\u0430\u0434\u0438\u0441\u043b\u0430\u0432 \u0420\u043e\u0434\u0438\u043d. \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u044f \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u044e \u043d\u0430 \u043f\u043e\u0440\u0442\u0430\u043b\u0435 OTUS \u043a\u0443\u0440\u0441\u044b, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u044b\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u041f\u041e \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u041f\u041e, \u043f\u043e\u0434\u0432\u0435\u0440\u0436\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435.\" \/>\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\/cs\/blog\/administrirovanie\/pochemu-mozhet-ponadobitsya-polusinhronnaya-replikacziya\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\udd47\u041f\u043e\u0447\u0435\u043c\u0443 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u043f\u043e\u043b\u0443\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442. \u041d\u0430 \u0441\u0432\u044f\u0437\u0438 \u0412\u043b\u0430\u0434\u0438\u0441\u043b\u0430\u0432 \u0420\u043e\u0434\u0438\u043d. \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u044f \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u044e \u043d\u0430 \u043f\u043e\u0440\u0442\u0430\u043b\u0435 OTUS \u043a\u0443\u0440\u0441\u044b, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u044b\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u041f\u041e \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u041f\u041e, \u043f\u043e\u0434\u0432\u0435\u0440\u0436\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/pochemu-mozhet-ponadobitsya-polusinhronnaya-replikacziya\" \/>\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-03-09T17:41:59+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-09T17:41:59+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\udd47Pro\u010d m\u016f\u017ee b\u00fdt polosychronn\u00ed replikace pot\u0159ebn\u00e1? | ProHoster","description":"Ahoj v\u0161ichni. Tady je Vladislav Rodin. V sou\u010dasn\u00e9 dob\u011b u\u010d\u00edm na port\u00e1lu OTUS kurzy zam\u011b\u0159en\u00e9 na architekturu softwaru a architekturu softwaru vystaven\u00e9ho vysok\u00e9 z\u00e1t\u011b\u017ei.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/pochemu-mozhet-ponadobitsya-polusinhronnaya-replikacziya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","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\udd47\u041f\u043e\u0447\u0435\u043c\u0443 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u043f\u043e\u043b\u0443\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f? | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442. \u041d\u0430 \u0441\u0432\u044f\u0437\u0438 \u0412\u043b\u0430\u0434\u0438\u0441\u043b\u0430\u0432 \u0420\u043e\u0434\u0438\u043d. \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u044f \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u044e \u043d\u0430 \u043f\u043e\u0440\u0442\u0430\u043b\u0435 OTUS \u043a\u0443\u0440\u0441\u044b, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u044b\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u041f\u041e \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u041f\u041e, \u043f\u043e\u0434\u0432\u0435\u0440\u0436\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435.","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/pochemu-mozhet-ponadobitsya-polusinhronnaya-replikacziya","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-03-09T17:41:59+00:00","article:modified_time":"2020-03-09T17:41:59+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"73446","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 11:50:08","updated":"2022-09-28 11:57:57","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/73446","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=73446"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/73446\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/73447"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=73446"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=73446"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=73446"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}