{"id":30785,"date":"2019-10-31T21:37:25","date_gmt":"2019-10-31T18:37:25","guid":{"rendered":"https:\/\/prohoster.info\/blog\/stroitelnye-bloki-raspredelennyh-prilozhenij-nulevoe-priblizhenie\/"},"modified":"2019-10-31T21:37:25","modified_gmt":"2019-10-31T18:37:25","slug":"stroitelnye-bloki-raspredelennyh-prilozhenij-nulevoe-priblizhenie","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/stroitelnye-bloki-raspredelennyh-prilozhenij-nulevoe-priblizhenie","title":{"rendered":"A megosztott alkalmaz\u00e1sok alapk\u00f6vei. Nulla k\u00f6zel\u00edt\u00e9s","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"A megosztott alkalmaz\u00e1sok alapk\u00f6vei. Nulla k\u00f6zel\u00edt\u00e9s\" src=\"\/wp-content\/uploads\/2019\/04\/88d4e363538bdfc67690c8339dca790b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A vil\u00e1g nem \u00e1ll meg. A fejl\u0151d\u00e9s \u00faj technol\u00f3giai kih\u00edv\u00e1sokat teremt. A megv\u00e1ltozott k\u00f6vetelm\u00e9nyeknek megfelel\u0151en az informatikai rendszerek architekt\u00far\u00e1j\u00e1nak is fejl\u0151dnie kell. Ma a esem\u00e9ny-vez\u00e9relt architekt\u00far\u00e1r\u00f3l, a konkurenci\u00e1r\u00f3l, a p\u00e1rhuzamoss\u00e1gr\u00f3l, az aszinkronit\u00e1sr\u00f3l \u00e9s arr\u00f3l besz\u00e9l\u00fcnk, hogy az Erlang hogyan k\u00e9pes mindezt b\u00e9k\u00e9sen kezelni.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"vvedenie\">Bevezet\u00e9s<\/h2>\n<p><\/p>\n<p>A tervezett rendszer m\u00e9ret\u00e9t\u0151l \u00e9s ig\u00e9nyeit\u0151l f\u00fcgg\u0151en mi, fejleszt\u0151k, kiv\u00e1lasztjuk az inform\u00e1ci\u00f3csere m\u00f3dj\u00e1t a rendszerben. A legt\u00f6bb esetben a szolg\u00e1ltat\u00e1sok k\u00f6z\u00f6tti interakci\u00f3 megszervez\u00e9s\u00e9re a broker-alap\u00fa s\u00e9ma, p\u00e9ld\u00e1ul RabbitMQ vagy Kafka haszn\u00e1lata lehet a megfelel\u0151 megold\u00e1s. De n\u00e9ha az esem\u00e9nyek \u00e1raml\u00e1sa, az SLA \u00e9s a rendszer feletti kontroll szintje olyan, hogy a k\u00e9sz messaging megold\u00e1s nem el\u00e9g. Term\u00e9szetesen bonyol\u00edthatjuk a rendszert azzal, hogy \u00e1tvessz\u00fck a sz\u00e1ll\u00edt\u00e1si szint \u00e9s a klaszteres\u00edt\u00e9s felel\u0151ss\u00e9g\u00e9t, p\u00e9ld\u00e1ul ZeroMQ vagy nanomsg haszn\u00e1lat\u00e1val. De ha a rendszer kapacit\u00e1sa \u00e9s az Erlang klaszter alapfunkci\u00f3i elegend\u0151ek, akkor a tov\u00e1bbi entit\u00e1s bevon\u00e1s\u00e1nak sz\u00fcks\u00e9gess\u00e9ge r\u00e9szletes vizsg\u00e1latot \u00e9s gazdas\u00e1gi indokol\u00e1st ig\u00e9nyel.<\/p>\n<p><\/p>\n<p>A reakt\u00edv elosztott alkalmaz\u00e1sok t\u00e9m\u00e1ja meglehet\u0151sen sz\u00e9lesk\u00f6r\u0171. A cikk keretein bel\u00fcl csak a homog\u00e9n k\u00f6rnyezetekre \u00f6sszpontos\u00edtunk, amelyeket Erlang\/Elixir alapjain \u00e9p\u00edtettek. Az Erlang\/OTP \u00f6kosziszt\u00e9ma lehet\u0151v\u00e9 teszi a reakt\u00edv architekt\u00fara megval\u00f3s\u00edt\u00e1s\u00e1t a legkisebb r\u00e1ford\u00edt\u00e1ssal. De minden esetben sz\u00fcks\u00e9g\u00fcnk lesz egy \u00fczenetv\u00e1lt\u00e1si r\u00e9tegre. <\/p>\n<p><\/p>\n<h2 id=\"teoreticheskiy-bazis\">Elm\u00e9leti alapok<\/h2>\n<p><\/p>\n<p>A tervez\u00e9s a c\u00e9lok \u00e9s korl\u00e1toz\u00e1sok meghat\u00e1roz\u00e1s\u00e1val kezd\u0151dik. Az alapvet\u0151 c\u00e9l nem a fejleszt\u00e9s kedv\u00e9\u00e9rt val\u00f3 fejleszt\u00e9s. Olyan biztons\u00e1gos \u00e9s sk\u00e1l\u00e1zhat\u00f3 eszk\u00f6zt kell l\u00e9trehoznunk, amely alapj\u00e1n modern alkalmaz\u00e1sokat hozhatunk l\u00e9tre \u00e9s fejleszthet\u00fcnk, kezdve az egykiszolg\u00e1l\u00f3s rendszerekt\u0151l, amelyek kis k\u00f6z\u00f6ns\u00e9get szolg\u00e1lnak ki, \u00e9s k\u00e9s\u0151bb klaszterekk\u00e9 fejl\u0151dhetnek 50-60 csom\u00f3pontig, eg\u00e9szen a klaszterek f\u00f6der\u00e1ci\u00f3j\u00e1ig. \u00cdgy az alapvet\u0151 c\u00e9l a profit maximaliz\u00e1l\u00e1sa a fejleszt\u00e9si \u00e9s fenntart\u00e1si k\u00f6lts\u00e9gek cs\u00f6kkent\u00e9s\u00e9vel.<\/p>\n<p><\/p>\n<p>Kiemel\u00fcnk 4 f\u0151 k\u00f6vetelm\u00e9nyt a v\u00e9gs\u0151 rendszerrel szemben:<\/p>\n<p><\/p>\n<ul>\n<li><strong>K\u00e9sleltetett streaming replik\u00e1ci\u00f3t is be\u00e1ll\u00edthatunk, de van n\u00e9h\u00e1ny csapda, amelyek a replik\u00e1ci\u00f3s slotokkal, a forr\u00f3 tartal\u00e9k visszajelz\u00e9s\u00e9vel stb. kapcsolatosak. A WAL arch\u00edvum lehet\u0151v\u00e9 teszi, hogy elker\u00fclj\u00fck ezeket.<\/strong>esem\u00e9nyorient\u00e1lts\u00e1g.<br \/>\nA rendszer mindig k\u00e9szen \u00e1ll, hogy \u00e1teresztse az esem\u00e9nyek \u00e1raml\u00e1s\u00e1t \u00e9s elv\u00e9gezze a sz\u00fcks\u00e9ges int\u00e9zked\u00e9seket;<\/li>\n<li><strong>M<\/strong>sk\u00e1l\u00e1zhat\u00f3s\u00e1g.<br \/>\nA k\u00fcl\u00f6nb\u00f6z\u0151 blokkok f\u00fcgg\u0151legesen \u00e9s v\u00edzszintesen is sk\u00e1l\u00e1zhat\u00f3k. Az eg\u00e9sz rendszernek k\u00e9pesnek kell lennie a v\u00e9gtelen v\u00edzszintes n\u00f6veked\u00e9sre;<\/li>\n<li><strong>A<\/strong>hiba\u00e1ll\u00f3s\u00e1g.<br \/>\nMinden szintnek \u00e9s minden szolg\u00e1ltat\u00e1snak k\u00e9pesnek kell lennie az automatikus helyre\u00e1ll\u00edt\u00e1sra hib\u00e1k eset\u00e9n;<\/li>\n<li><strong>G<\/strong>aranciaid\u0151.<br \/>\nAz id\u0151 \u00e9rt\u00e9kes, \u00e9s a felhaszn\u00e1l\u00f3knak nem szabad t\u00fal sok\u00e1ig v\u00e1rniuk.<\/li>\n<\/ul>\n<p><\/p>\n<p>Eml\u00e9kszik a r\u00e9gi mes\u00e9re az \"A kis mozdony, ami tudott\"? Ahhoz, hogy a tervezett rendszer sikeresen t\u00fall\u00e9pjen a protot\u00edpus f\u00e1zison \u00e9s el\u0151remutat\u00f3 legyen, az alapjainak meg kell felelni\u00fck a minim\u00e1lis k\u00f6vetelm\u00e9nyeknek. <strong>TUDOTT<\/strong>.<\/p>\n<p><\/p>\n<p>A messaginghez, mint infrastrukt\u00faraeszk\u00f6zh\u00f6z \u00e9s az \u00f6sszes szolg\u00e1ltat\u00e1s alapj\u00e1hoz, egy \u00faj szempont is hozz\u00e1ad\u00f3dik: a programoz\u00f3k sz\u00e1m\u00e1ra val\u00f3 k\u00f6nny\u0171 haszn\u00e1lhat\u00f3s\u00e1g.<\/p>\n<p><\/p>\n<h3 id=\"orientirovannost-na-sobytiya\">esem\u00e9nyorient\u00e1lts\u00e1g<\/h3>\n<p><\/p>\n<p>Ahhoz, hogy az alkalmaz\u00e1s egyt\u0151l <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/hu\/server\/dts-los-angeles\/\"   title=\"a szerver\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3480\">a szerver<\/a> klaszterr\u00e9 fejl\u0151dj\u00f6n, az architekt\u00far\u00e1j\u00e1nak biztos\u00edtania kell a gyenge \u00f6sszekapcsolts\u00e1got. Ennek a k\u00f6vetelm\u00e9nynek az aszinkron modell felel meg. Ebben az elk\u00fcld\u0151 \u00e9s a fogad\u00f3 foglalkozik az \u00fczenet inform\u00e1ci\u00f3s terh\u00e9vel, \u00e9s nem agg\u00f3dik a rendszerbeli \u00e1tvitel\u00e9rt \u00e9s forgalmaz\u00e1s\u00e9rt.<\/p>\n<p><\/p>\n<h3 id=\"masshtabiruemost\">Sk\u00e1l\u00e1zhat\u00f3s\u00e1g<\/h3>\n<p><\/p>\n<p>A sk\u00e1l\u00e1zhat\u00f3s\u00e1g \u00e9s a rendszer hat\u00e9konys\u00e1ga k\u00e9z a k\u00e9zben j\u00e1r. Az alkalmaz\u00e1s komponenseinek k\u00e9pesnek kell lenni\u00fck minden el\u00e9rhet\u0151 forr\u00e1st felhaszn\u00e1lni. Min\u00e9l hat\u00e9konyabban tudjuk hasznos\u00edtani a kapacit\u00e1sokat \u00e9s min\u00e9l optim\u00e1lisabbak a feldolgoz\u00e1si m\u00f3dszereink, ann\u00e1l kevesebb p\u00e9nzt k\u00f6lt\u00fcnk a berendez\u00e9sekre. <\/p>\n<p><\/p>\n<p>Egy g\u00e9pen bel\u00fcl az Erlang magasan versenyk\u00e9pes k\u00f6rnyezetet teremt. Az egyens\u00falyt a versenyess\u00e9g \u00e9s a p\u00e1rhuzamoss\u00e1g k\u00f6z\u00f6tt a rendelkez\u00e9sre \u00e1ll\u00f3 oper\u00e1ci\u00f3s rendszerbeli sz\u00e1lak sz\u00e1m\u00e1nak \u00e9s az Erlang VM-hez hozz\u00e1rendelt \u00fctemez\u0151k sz\u00e1m\u00e1nak kiv\u00e1laszt\u00e1s\u00e1val lehet be\u00e1ll\u00edtani.<br \/>\nAz Erlang folyamatoknak nincs k\u00f6z\u00f6s \u00e1llapotuk, \u00e9s nem blokkol\u00f3 m\u00f3dban dolgoznak. Ez viszonylag alacsony k\u00e9sleltet\u00e9st \u00e9s magasabb \u00e1tereszt\u0151k\u00e9pess\u00e9get biztos\u00edt, mint a blokkol\u00f3 szinkroniz\u00e1ci\u00f3n alapul\u00f3 hagyom\u00e1nyos alkalmaz\u00e1sok. Az Erlang \u00fctemez\u0151 gondoskodik a CPU \u00e9s IO m\u00e9lt\u00e1nyos eloszt\u00e1s\u00e1r\u00f3l, \u00e9s a blokkol\u00e1sok hi\u00e1nya lehet\u0151v\u00e9 teszi az alkalmaz\u00e1s v\u00e1laszad\u00e1s\u00e1t m\u00e9g cs\u00facsid\u0151szakokban vagy hib\u00e1k eset\u00e9n is. <\/p>\n<p><\/p>\n<p>A klaszter szintj\u00e9n is l\u00e9teznek probl\u00e9m\u00e1k a kihaszn\u00e1lts\u00e1ggal. Fontos, hogy a klaszter minden g\u00e9pe egyenletesen legyen leterhelve, \u00e9s a h\u00e1l\u00f3zat ne legyen t\u00falterhelve. K\u00e9pzelj\u00fcnk el egy helyzetet: a felhaszn\u00e1l\u00f3i forgalom az \u00e9rkez\u0151 terhel\u00e9seloszt\u00f3kra (haproxy, nginx, stb.) \u00e9rkezik, amelyek a lehet\u0151 legegyenletesebben osztj\u00e1k el a feldolgoz\u00e1sra v\u00e1r\u00f3 k\u00e9r\u00e9seket a rendelkez\u00e9sre \u00e1ll\u00f3 h\u00e1tt\u00e9rszolg\u00e1ltat\u00e1sok k\u00f6z\u00f6tt. Az alkalmaz\u00e1sinfrastrukt\u00far\u00e1ban a megfelel\u0151 interf\u00e9szt megval\u00f3s\u00edt\u00f3 szolg\u00e1ltat\u00e1s csup\u00e1n az utols\u00f3 m\u00e9rf\u00f6ld, \u00e9s k\u00e9rni fog n\u00e9h\u00e1ny m\u00e1sik szolg\u00e1ltat\u00e1st, hogy v\u00e1laszolhasson az eredeti k\u00e9r\u00e9sre. A bels\u0151 k\u00e9r\u00e9seknek is sz\u00fcks\u00e9ge van \u00fatvonalra \u00e9s terhel\u00e9seloszt\u00e1sra.<br \/>\nAz adatok hat\u00e9kony kezel\u00e9se \u00e9rdek\u00e9ben a messaging-nek olyan interf\u00e9szt kell biztos\u00edtania a fejleszt\u0151k sz\u00e1m\u00e1ra, amely lehet\u0151v\u00e9 teszi a route \u00e9s a terhel\u00e9s megoszt\u00e1s\u00e1nak kezel\u00e9s\u00e9t. Ennek k\u00f6sz\u00f6nhet\u0151en a fejleszt\u0151k k\u00e9pesek lesznek, a mikroszolg\u00e1ltat\u00e1sos mint\u00e1k (aggreg\u00e1tor, proxy, l\u00e1nc, \u00e1g, stb.) seg\u00edts\u00e9g\u00e9vel, megoldani mind a standard feladatokat, mind a ritk\u00e1bban el\u0151fordul\u00f3kat. <\/p>\n<p><\/p>\n<p>\u00dczleti szempontb\u00f3l a sk\u00e1l\u00e1zhat\u00f3s\u00e1g az egyik eszk\u00f6z a kock\u00e1zatok kezel\u00e9s\u00e9re. A legfontosabb az, hogy a lehet\u0151 legjobban kiel\u00e9g\u00edts\u00fck az \u00fcgyfelek ig\u00e9nyeit, optim\u00e1lisan felhaszn\u00e1lva a hardvert:<\/p>\n<p><\/p>\n<ul>\n<li>A hardver teljes\u00edtm\u00e9ny\u00e9nek n\u00f6vel\u00e9se a fejl\u0151d\u00e9s k\u00f6vetkezt\u00e9ben. Nem fog le\u00e1llni a szoftver t\u00f6k\u00e9letlens\u00e9gei miatt. Az Erlang t\u00f6k\u00e9letesen sk\u00e1l\u00e1zhat\u00f3 vertik\u00e1lisan, \u00e9s mindig k\u00e9pes lesz kihaszn\u00e1lni az \u00f6sszes CPU magot \u00e9s a rendelkez\u00e9sre \u00e1ll\u00f3 mem\u00f3ri\u00e1t;<\/li>\n<li>Felh\u0151 k\u00f6rnyezetben k\u00e9pesek vagyunk kezelni a hardver mennyis\u00e9g\u00e9t a jelenlegi vagy el\u0151re jelzett terhel\u00e9s f\u00fcggv\u00e9ny\u00e9ben, \u00e9s garant\u00e1lni tudjuk az SLA-t.<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"otkazoustoychivost\">Hibat\u0171r\u00e9s<\/h3>\n<p><\/p>\n<p>Vegy\u00fck figyelembe a k\u00e9t axi\u00f3m\u00e1t: \"A hib\u00e1k elfogadhatatlanok\" \u00e9s \"A hib\u00e1k mindig el\u0151fordulnak\". Az \u00fczlet sz\u00e1m\u00e1ra a szoftverhiba p\u00e9nzvesztes\u00e9get jelent, \u00e9s ami m\u00e9g rosszabb \u2013 a h\u00edrn\u00e9v elveszt\u00e9s\u00e9t. A lehets\u00e9ges vesztes\u00e9gek \u00e9s a hibamentes szoftver fejleszt\u00e9s\u00e9nek k\u00f6lts\u00e9gei k\u00f6z\u00f6tt egyens\u00falyozva gyakran kompromisszumot tal\u00e1lhatunk.<\/p>\n<p><\/p>\n<p>R\u00f6vid t\u00e1von a hibamentes architekt\u00far\u00e1val rendelkez\u0151 megold\u00e1sok kevesebbet k\u00f6ltenek k\u00e9sz klaszterez\u00e9si megold\u00e1sok beszerz\u00e9s\u00e9re. Ezek dr\u00e1g\u00e1k, \u00e9s nekik is vannak hib\u00e1ik.<br \/>\nHossz\u00fa t\u00e1von a hibamentes architekt\u00fara t\u00f6bbsz\u00f6r\u00f6sen megt\u00e9r\u00edti a k\u00f6lts\u00e9geit minden fejleszt\u00e9si szakaszban.<br \/>\nA k\u00f3dalap\u00fa \u00fczenetk\u00fcld\u00e9s m\u00e9g fejleszt\u00e9si f\u00e1zisban r\u00e9szletesen kidolgozza a rendszerkomponensek k\u00f6z\u00f6tti interakci\u00f3t. Ez megk\u00f6nny\u00edti a hib\u00e1kra val\u00f3 reag\u00e1l\u00e1st \u00e9s kezel\u00e9s\u00fcket, mivel minden felel\u0151s komponens kezeli a hib\u00e1kat, \u00e9s a v\u00e9gs\u0151 rendszer tudja, hogyan t\u00e9rhet vissza automatikusan a norm\u00e1l \u00e1llapotba hiba eset\u00e9n by design.<\/p>\n<p><\/p>\n<h3 id=\"otzyvchivost\">Reag\u00e1l\u00f3k\u00e9pess\u00e9g<\/h3>\n<p><\/p>\n<p>Hib\u00e1k ellen\u00e9re az alkalmaz\u00e1snak reag\u00e1lnia kell a k\u00e9r\u00e9sekre \u00e9s teljes\u00edtenie kell a SLA-t. Az a val\u00f3s\u00e1g, hogy az emberek nem akarnak v\u00e1rni, ez\u00e9rt az \u00fczletnek alkalmazkodnia kell. Egyre t\u00f6bb alkalmaz\u00e1st\u00f3l v\u00e1rj\u00e1k el a magas reag\u00e1l\u00f3k\u00e9szs\u00e9get.<br \/>\nA reag\u00e1l\u00f3 alkalmaz\u00e1sok k\u00f6zel val\u00f3s idej\u0171 \u00fczemm\u00f3dban m\u0171k\u00f6dnek. Az Erlang VM puha val\u00f3s idej\u0171 m\u00f3dban m\u0171k\u00f6dik. Bizonyos ter\u00fcleteken, mint p\u00e9ld\u00e1ul a t\u0151zsdei keresked\u00e9s, az orvostudom\u00e1ny \u00e9s ipari berendez\u00e9sek kezel\u00e9se, a kem\u00e9ny val\u00f3s idej\u0171 m\u00f3d fontos.<br \/>\nA reag\u00e1l\u00f3 rendszerek jav\u00edtj\u00e1k a felhaszn\u00e1l\u00f3i \u00e9lm\u00e9nyt \u00e9s hasznosak az \u00fczlet sz\u00e1m\u00e1ra.<\/p>\n<p><\/p>\n<h2 id=\"predvaritelnyy-itog\">El\u0151zetes \u00f6sszegz\u00e9s<\/h2>\n<p><\/p>\n<p>E cikk tervez\u00e9sekor meg akartam osztani a tapasztalataimat egy \u00fczenetk\u00fcld\u0151 br\u00f3ker l\u00e9trehoz\u00e1s\u00e1r\u00f3l \u00e9s bonyolult rendszerek ki\u00e9p\u00edt\u00e9s\u00e9r\u0151l. Az elm\u00e9leti \u00e9s motiv\u00e1ci\u00f3s r\u00e9sz meglehet\u0151sen kiterjedt lett.<br \/>\nA cikk m\u00e1sodik r\u00e9sz\u00e9ben az \u00fczenetv\u00e1lt\u00f3 pontok megval\u00f3s\u00edt\u00e1s\u00e1nak finoms\u00e1gait, az \u00fczenetk\u00fcld\u00e9si sablonokat \u00e9s azok alkalmaz\u00e1s\u00e1t fogom bemutatni.<br \/>\nA harmadik r\u00e9szben a szolg\u00e1ltat\u00e1sok szervez\u00e9s\u00e9r\u0151l, az \u00fatvonalkezel\u00e9sr\u0151l \u00e9s a terhel\u00e9seloszt\u00e1sr\u00f3l besz\u00e9l\u00fcnk. A rendszerek sk\u00e1l\u00e1zhat\u00f3s\u00e1g\u00e1nak \u00e9s hibat\u0171r\u00e9s\u00e9nek gyakorlati oldal\u00e1r\u00f3l fogunk sz\u00f3t ejteni.<\/p>\n<p><\/p>\n<p>Az els\u0151 r\u00e9sz v\u00e9ge.<\/p>\n<p><\/p>\n<p>F\u00e9nyk\u00e9p <noindex><a rel=\"nofollow\" href=\"https:\/\/unsplash.com\/photos\/SRjZtxsK3Os\">@lucabravo<\/a><\/noindex>.<\/p>\n<p>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/446028\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u0438\u0440 \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u043d\u0430 \u043c\u0435\u0441\u0442\u0435. \u041f\u0440\u043e\u0433\u0440\u0435\u0441\u0441 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0432\u044b\u0437\u043e\u0432\u044b. \u0412 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0438\u0437\u043c\u0435\u043d\u0438\u0432\u0448\u0438\u043c\u0438\u0441\u044f \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438, \u0434\u043e\u043b\u0436\u043d\u0430 \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0439\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435, \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u0438, \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0441\u0442\u0438 \u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0432 Erlang \u043c\u043e\u0436\u043d\u043e \u0441\u043e \u0432\u0441\u0435\u043c \u044d\u0442\u0438\u043c \u0436\u0438\u0442\u044c \u043c\u0438\u0440\u043d\u043e. \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0412 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u043a \u043d\u0435\u0439, \u043c\u044b, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":22770,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-30785","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.4 - aioseo.com -->\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\/hu\/blog\/administrirovanie\/stroitelnye-bloki-raspredelennyh-prilozhenij-nulevoe-priblizhenie\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\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\u0421\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0438 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041d\u0443\u043b\u0435\u0432\u043e\u0435 \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/stroitelnye-bloki-raspredelennyh-prilozhenij-nulevoe-priblizhenie\" \/>\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=\"2019-10-31T18:37:25+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:37:25+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\udd47A megosztott alkalmaz\u00e1sok \u00e9p\u00edt\u0151elemei. Nulladik megk\u00f6zel\u00edt\u00e9s | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/stroitelnye-bloki-raspredelennyh-prilozhenij-nulevoe-priblizhenie","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","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\u0421\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0438 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041d\u0443\u043b\u0435\u0432\u043e\u0435 \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u0435 | ProHoster","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/stroitelnye-bloki-raspredelennyh-prilozhenij-nulevoe-priblizhenie","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":"2019-10-31T18:37:25+00:00","article:modified_time":"2019-10-31T18:37:25+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30785","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":"2026-02-22 15:31:13","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:29:56","updated":"2026-02-22 15:31:13","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/30785","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=30785"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/30785\/revisions"}],"predecessor-version":[{"id":162006,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/30785\/revisions\/162006"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/22770"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=30785"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=30785"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=30785"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}