{"id":83248,"date":"2020-05-29T19:42:48","date_gmt":"2020-05-29T17:42:48","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/dihotomiya-dannyh-pereosmyslenie-otnosheniya-k-dannym-i-servisam"},"modified":"2020-05-29T19:42:48","modified_gmt":"2020-05-29T17:42:48","slug":"dihotomiya-dannyh-pereosmyslenie-otnosheniya-k-dannym-i-servisam","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/dihotomiya-dannyh-pereosmyslenie-otnosheniya-k-dannym-i-servisam","title":{"rendered":"Andmete dikotoomia: uue m\u00f5tlemise suhe andmete ja teenustega","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i><b>Tere k\u00f5igile! Meil on suurep\u00e4raseid uudiseid, juunis k\u00e4ivitab OTUS taas kursuse <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/rVZl\/\">\u201eTarkvara arhitekt\u201c<\/a><\/noindex>, millega seoses jagame teiega traditsiooniliselt kasulikku materjali.<\/b><\/i><\/p>\n<p><img decoding=\"async\" alt=\"Andmete dikotoomia: uue m\u00f5tlemise suhe andmete ja teenustega\" src=\"\/wp-content\/uploads\/2020\/05\/6092ffb23e765239b4a8f27d4a0cb846.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n Kui olete kokku puutunud kogu sellele mikroteenuste jutule ilma igasuguse kontekstita, on teil m\u00f5istetav seda veidi kummalisena pidada. Rakenduse jagamine osadeks, mis on omavahel seotud v\u00f5rguga, t\u00e4hendab kindlasti ka keeruliste talitlush\u00e4ired taluvate mehhanismide lisamist tekkinud hajutatud s\u00fcsteemi. <\/p>\n<p>Kuigi see l\u00e4henemine h\u00f5lmab jagamist paljudele s\u00f5ltumatutele teenustele, on l\u00f5ppeesm\u00e4rk midagi enam kui lihtsalt nende teenuste t\u00f6\u00f6tamine erinevates masinates. Jutt on siin keskkonna interaktsioonist, mis iseenesest on samuti hajus. Mitte tehnilises m\u00f5ttes, vaid pigem \u00f6kos\u00fcsteemis, mis koosneb paljusid inimesi, meeskondi, programme, ning iga\u00fcks neist peab mingil moel oma t\u00f6\u00f6d tegema.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Ettev\u00f5tted, n\u00e4iteks, koosnevad hajusate s\u00fcsteemide kogumist, mis kokkuv\u00f5ttes aitavad saavutada teatud eesm\u00e4rki. Me ignoreerisime seda fakti aastak\u00fcmneid, p\u00fc\u00fcdes saavutada \u00fchtsust, edastades faile FTP kaudu v\u00f5i kasutades ettev\u00f5tte integreerimist\u00f6\u00f6riistu, keskendudes samal ajal oma isiklikele lahkarvamustele. Kuid teenuste saabumisega k\u00f5ik muutus. Teenused aitasid meil vaadata kaugemale ja n\u00e4ha vastastikust s\u00f5ltuvust, kus programmid t\u00f6\u00f6tavad \u00fchiselt. Kuid selleks, et edukalt tegutseda, tuleb m\u00f5ista ja disainida kahte fundamentaalselt erinevat maailma: v\u00e4lismaailm, kus elame paljude teiste teenuste \u00f6kos\u00fcsteemis, ja meie isiklik, sisemaailm, kus me valitseme \u00fcksi.<\/p>\n<p><img decoding=\"async\" alt=\"Andmete dikotoomia: uue m\u00f5tlemise suhe andmete ja teenustega\" src=\"\/wp-content\/uploads\/2020\/05\/93f535f6f3319d7b2829d35c0fe1c48f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n Selline hajustatud maailm erineb sellest, kus me kasvasime ja millega harjusime. Traditsioonilise monoliit arhitektuuri ehitamise p\u00f5him\u00f5tted ei pea mingit kriitikat. Seet\u00f5ttu on selliste s\u00fcsteemide \u00f5ige m\u00f5istmine midagi muud kui vaid lahe skeemi loomine valgel tahvlil v\u00f5i lahe t\u00f5estus kontseptsioonist. Oluline on, et selline s\u00fcsteem toimiks edukalt pika aja jooksul. \u00d5nneks on teenused eksisteerinud juba piisavalt kaua, kuigi need n\u00e4evad v\u00e4lja erinevad. <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Service-oriented_architecture\">SOA \u00f5ppetunnid<\/a><\/noindex> on endiselt aktuaalsed, isegi kui need on maitsestatud Docker'i, Kubernetes'e ja kergelt kulunud hipsteri habe. <\/p>\n<p>Nii et t\u00e4na vaatame, kuidas reeglid on muutunud, miks peame \u00fcmber m\u00f5tlema oma l\u00e4henemist teenustele ja andmetele, mida nad \u00fcksteisele edastavad, ja miks meil selleks on vaja t\u00e4iesti teistsuguseid t\u00f6\u00f6riistu.<\/p>\n<h3>Inkaptsulatsioon ei ole alati teie s\u00f5ber<\/h3>\n<p>\n Mikroteenused saavad t\u00f6\u00f6tada iseseisvalt. Just see omadus annab neile suurima v\u00e4\u00e4rtuse. See omadus v\u00f5imaldab teenustel kasvatada ja laieneda. Mitte ainult mitte kuni kvadriljonite kasutajateni v\u00f5i petabaitide andmeteni (kuigi nad saavad ka siin aidata), vaid pigem inimeste perspektiivist, kuna meeskonnad ja organisatsioonid kasvavad pidevalt.<\/p>\n<p><img decoding=\"async\" alt=\"Andmete dikotoomia: uue m\u00f5tlemise suhe andmete ja teenustega\" src=\"\/wp-content\/uploads\/2020\/05\/ec36218b6152c2b713f72689b4ea6916.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKuid iseseisvus on kaheaegne m\u00f5\u00f5k. Teenus v\u00f5ib iseenesest t\u00f6\u00f6tada lihtsasti ja vaevata. Kuid kui teenuses rakendatakse funktsiooni, mis vajab teise teenuse kaasamist, peame l\u00f5puks tegema muudatusi m\u00f5lemas teenuses peaaegu samal ajal. Monoliidis on see lihtne, sa lihtsalt teed muudatuse ja saadad selle v\u00e4lja, aga iseseisvate teenuste s\u00fcnkroniseerimisel on probleeme rohkem. Koordineerimine meeskondade ja v\u00e4ljalasetts\u00fcklite vahel h\u00e4vitab paindlikkuse.<\/p>\n<p><img decoding=\"async\" alt=\"Andmete dikotoomia: uue m\u00f5tlemise suhe andmete ja teenustega\" src=\"\/wp-content\/uploads\/2020\/05\/5fc993636f29e9eb9831d05cbc0bd7f8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTavap\u00e4rases l\u00e4henemises p\u00fc\u00fctakse ebameeldivate l\u00e4bivoolavate muudatuste tegemist lihtsalt v\u00e4ltida, eristades selgelt funktsionaalsust teenuste vahel. \u00dchtse sisenemise teenus on siin hea n\u00e4ide. Sellel on selgelt m\u00e4\u00e4ratletud roll, mis eristab seda teistest teenustest. Selline selge jaotus t\u00e4hendab, et kiiresti muutuvate n\u00f5udmiste maailmas muudatuste osas j\u00e4\u00e4b \u00fchtse sisenemise teenus t\u00f5en\u00e4oliselt muutumatuks. See eksisteerib range piiratuse kontekstis.<\/p>\n<p><img decoding=\"async\" alt=\"Andmete dikotoomia: uue m\u00f5tlemise suhe andmete ja teenustega\" src=\"\/wp-content\/uploads\/2020\/05\/095fd7a6e02ead4924abf180e3b1d26b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n Probleem seisneb selles, et reaalses maailmas ei saa \u00e4riteenused pidevalt s\u00e4ilitada sama puhast rolli jaotust. N\u00e4iteks t\u00f6\u00f6tavad need samad \u00e4riteenused laiemalt andmetega, mis on saadud teistelt sarnastelt teenustelt. Kui tegelete veebikaubandusega, siis tellimuste, tootekatalooge v\u00f5i kasutajainformatsiooni t\u00f6\u00f6tlemine saab olema paljude teie teenuste n\u00f5udmine. Iga teenus vajab nende andmete t\u00f6\u00f6tlemiseks ligip\u00e4\u00e4su. <\/p>\n<p><img decoding=\"async\" alt=\"Andmete dikotoomia: uue m\u00f5tlemise suhe andmete ja teenustega\" src=\"\/wp-content\/uploads\/2020\/05\/2a3d23850c88d574c990dfdc6015072c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Enamik \u00e4riteenuseid kasutavad \u00fcks ja sama andmevoogu, seet\u00f5ttu on nende t\u00f6\u00f6 pidevalt omavahel seotud.<\/i><\/p>\n<p>Nii oleme j\u00f5udnud olulisse hetke, millest tasub r\u00e4\u00e4kida. Kuigi teenused toimivad h\u00e4sti infrastruktuuri komponentide puhul, mis t\u00f6\u00f6tavad suures osas isoleeritult, on enamik \u00e4riteenuseid omavahel tihedalt seotud.<\/p>\n<h3>Andmete dikotoomia<\/h3>\n<p>\n Teenustele orienteeritud l\u00e4henemised v\u00f5ivad juba eksisteerida, kuid neis on endiselt v\u00e4he teavet selle kohta, kuidas vahetada suuri andmemahtusid teenuste vahel.<\/p>\n<p>P\u00f5hiprobleem on see, et andmed ja teenused on lahutamatud. \u00dchest k\u00fcljest kutsub kapseldamine meid andmeid peitma, et teenuseid oleks v\u00f5imalik omavahel eraldada ning nende kasvu ja edasisi muutusi lihtsustada. Teisest k\u00fcljest peame saama vabalt jagada ja hallata \u00fchiseid andmeid, nagu ka mis tahes teisi. K\u00fcsimus on selles, et oleksime v\u00f5imelised kohe t\u00f6\u00f6le asuma, sama vabalt kui mis tahes muus infos\u00fcsteemis.<\/p>\n<p>Kuid informatsioonis\u00fcsteemidel on v\u00e4he \u00fchist kapseldamisega. Tegelikult on see isegi vastupidine. Andmebaasid teevad k\u00f5ik endast oleneva, et anda juurdep\u00e4\u00e4s neis hoitavatele andmetele. Need pakuvad v\u00f5imsat deklaratiivset liidest, mis v\u00f5imaldab andmeid vastavalt vajadusele muuta. See funktsionaalsus on oluline eeluurimise etapis, kuid mitte pidevalt areneva teenuse keerukuse haldamiseks.<\/p>\n<p><img decoding=\"async\" alt=\"Andmete dikotoomia: uue m\u00f5tlemise suhe andmete ja teenustega\" src=\"\/wp-content\/uploads\/2020\/05\/830465d4aa3bd2e6c02772a982f170bd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n Ja siin tekib dilemma. Vastur\u00e4\u00e4kivus. Dihotoomia. Sest informatsioonis\u00fcsteemid on seotud andmete pakkumisega, samas kui teenused on seotud nende varjamisega.<\/p>\n<p>Need kaks j\u00f5udu on fundamentaalsed. Need on meie t\u00f6\u00f6 p\u00f5hialuseks, pidevalt v\u00f5ideldes \u00fclemv\u00f5imu nimel meie loodud s\u00fcsteemides.<\/p>\n<p>Teen, kui teenuses\u00fcsteemid arenevad ja kasvavad, m\u00e4rkame andmete diktoomia erinevaid v\u00e4ljundeid. Kas teenuse liides laieneb, pakkudes \u00fcha laiemat funktsioonide kogumit ja hakkab n\u00e4gema v\u00e4lja nagu veidra koduvalmistatud andmebaas, v\u00f5i seisame silmitsi pettumusega ja leiname vajadust leida viise massiliste andmekogumite teenuste vahel liikumiseks v\u00f5i teisaldamiseks.<\/p>\n<p><img decoding=\"async\" alt=\"Andmete dikotoomia: uue m\u00f5tlemise suhe andmete ja teenustega\" src=\"\/wp-content\/uploads\/2020\/05\/da718c87570a4eb20b18f9c880ae8a1b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n Oma olemuselt viib miski, mis n\u00e4eb v\u00e4lja nagu veidralt koduvalmistatud andmebaas, terve rea probleemideni. Me ei p\u00f5hjalda n\u00fc\u00fcd, kui ohtlik see on, <i>shared database<\/i>, lihtsalt \u00fctleme, et see esindab m\u00e4rkimisv\u00e4\u00e4rseid ja kallid inseneri- ja operatiivsed <noindex><a rel=\"nofollow\" href=\"http:\/\/microservices.io\/patterns\/data\/shared-database.html\">v\u00e4ljakutsed<\/a><\/noindex> ettev\u00f5ttele, kes \u00fcritab seda kasutada.<\/p>\n<p>Halvem on see, et andmemaht suurendab teenuste vaheprobleeme. Mida rohkem jagatud andmeid teenuses on, seda keerulisemaks muutub liides ja seda raskem on \u00fchendada erinevatest teenustest p\u00e4rit andmekogumeid.<\/p>\n<p>Alternatiivne l\u00e4henemine andmekogude t\u00e4ieliku eraldamisele ja liigutamisele toob endaga kaasa oma probleemid. Levinud l\u00e4henemine sellele probleemile on andmekogumi lihtne eraldamine ja s\u00e4ilitamine, mille j\u00e4rel hoitakse seda kohapeal igas tarbimisteenus.<\/p>\n<p><img decoding=\"async\" alt=\"Andmete dikotoomia: uue m\u00f5tlemise suhe andmete ja teenustega\" src=\"\/wp-content\/uploads\/2020\/05\/63934c6876cb89e87155d4c097657617.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n Probleem seisneb selles, et erinevad teenused t\u00f5lgendavad andmeid, mida nad tarbivad, erinevalt. Need andmed on alati k\u00e4ep\u00e4rast. Need muutuvad ja t\u00f6\u00f6deldakse kohapeal. Suhteliselt kiiresti kaotavad nad igasuguse seose allikate andmetega.<\/p>\n<p><img decoding=\"async\" alt=\"Andmete dikotoomia: uue m\u00f5tlemise suhe andmete ja teenustega\" src=\"\/wp-content\/uploads\/2020\/05\/616e390ad3df3317ac34ac8d861ce804.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <i>Mida mutatiivsemad on koopiad, seda rohkem erinevad andmed aja jooksul.<\/i><\/p>\n<p>Veelgi hullem on, et selliseid andmeid on retrospektiivis raske parandada (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Master_data_management\">MDM<\/a><\/noindex> siin v\u00f5ib t\u00f5epoolest abiks tulla). Tegelikult on m\u00f5ned keerulised tehnoloogilised probleemid, millega ettev\u00f5tted silmitsi seisavad, tingitud heterogeensetest andmetest, mis paljunevad rakendusest rakendusse.<\/p>\n<p>Selle probleemi lahendamiseks, mis puudutab \u00fchiseid andmeid, tuleb m\u00f5elda teistmoodi. Need peaksid olema esmaklassilised objektid arhitektuurides, mida me loome. <noindex><a rel=\"nofollow\" href=\"http:\/\/cidrdb.org\/cidr2005\/papers\/P12.pdf\">Pat Heliand<\/a><\/noindex> nimeltakse selliseid andmeid \"v\u00e4listeks\", ja see on v\u00e4ga oluline omadus. Me vajame kapseldamist, et mitte paljastada teenuse sisemist struktuuri, kuid peame h\u00f5lbustama teenustel juurdep\u00e4\u00e4su jagatud andmetele, et nad saaksid oma t\u00f6\u00f6d t\u00f5husalt teha.<\/p>\n<p><img decoding=\"async\" alt=\"Andmete dikotoomia: uue m\u00f5tlemise suhe andmete ja teenustega\" src=\"\/wp-content\/uploads\/2020\/05\/9703ffdbb528320edc62ee7a680a3258.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n Probleem seisneb selles, et \u00fckski t\u00e4nap\u00e4evane l\u00e4henemine ei ole enam asjakohane, kuna ei teenuse liidesed, s\u00f5numivahetus ega jagatud andmebaasid ei paku head lahendust v\u00e4listest andmetest t\u00f6\u00f6tamiseks. Teenuse liidesed ei sobi andmete vahetamiseks mingis mahus. S\u00f5numivahetus edastab andmeid, kuid ei hoia nende ajalugu, seet\u00f5ttu andmed aja jooksul kahjustuvad. Jagatud andmebaasid keskenduvad liiga tugevalt \u00fches kohas, mis pidurdab arengu edenemist. Me j\u00e4\u00e4me paratamatult andmete eba\u00f5nnestumise ts\u00fcklisse:<\/p>\n<p><img decoding=\"async\" alt=\"Andmete dikotoomia: uue m\u00f5tlemise suhe andmete ja teenustega\" src=\"\/wp-content\/uploads\/2020\/05\/f17ac7063a813cb76bad71ae8622912c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <i>Andmete eba\u00f5nnestumise ts\u00fckkel<\/i><\/p>\n<h3>Voogud: detsentraliseeritud l\u00e4henemine andmetele ja teenustele<\/h3>\n<p>\n Ideaalis peaksime muutma l\u00e4henemist sellele, kuidas teenused t\u00f6\u00f6tavad jagatud andmetega. Praegu seisavad k\u00f5ik l\u00e4henemised silmitsi \u00fclaltoodud dikotoomiaga, kuna ei ole olemas mingit imerohtu, mille abil saaksime selle lahendada. Siiski saame problematiseerimist \u00fcmber m\u00f5elda ja j\u00f5uda kompromissini.<\/p>\n<p>See kompromiss eeldab teatud m\u00e4\u00e4ral tsentraliseerimist. Saame kasutada detsentraliseeritud logide mehhanismi, kuna see tagab usaldusv\u00e4\u00e4rsed ja skaleeritavad vood. N\u00fc\u00fcd on vaja, et teenused saaksid \u00fchineda ja t\u00f6\u00f6tada nende jagatud voogudega, kuid soovime v\u00e4ltida keerulisi tsentraliseeritud God Service'e, mis sellist t\u00f6\u00f6tlemist teevad. Seega on parim variant integreerida voogude t\u00f6\u00f6tlemine igasse teenusekasutajasse. Nii saavad teenused \u00fchendada andmestikke erinevatest allikatest ja kasutada neid vajalikel viisidel.<\/p>\n<p>\u00dcks viis sellise l\u00e4henemisviisi saavutamiseks on voogedastusteenuse kasutamine. Valikuid on palju, kuid t\u00e4na vaatame Kafka't, kuna selle Stateful Stream Processing v\u00f5imaldab t\u00f5husalt lahendada esitatud probleemi.<\/p>\n<p><img decoding=\"async\" alt=\"Andmete dikotoomia: uue m\u00f5tlemise suhe andmete ja teenustega\" src=\"\/wp-content\/uploads\/2020\/05\/353c7f12af87901e721abb7ea92d8196.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n Jaotatud loggingu mehhanismi kasutamine v\u00f5imaldab meil minna kulutatud teed pidi ja kasutada s\u00f5numivahetust, et t\u00f6\u00f6tada <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Event-driven_architecture\">s\u00fcndmustep\u00f5hise arhitektuuriga<\/a><\/noindex>. Sellise l\u00e4henemise puhul peetakse, et see tagab parema skaleeritavuse ja jaotuse kui \"p\u00e4ring-vastus\" mehhanism, kuna see annab voolu kontrolli saajale, mitte saatjale. Kuid k\u00f5ik n\u00f5uab elus maksmist, ja siin on teil vaja vahetusjaama. Kuid suurte s\u00fcsteemide puhul on see kompromiss seda v\u00e4\u00e4rt (mida ei saa \u00f6elda teie keskmiste veebirakenduste kohta).<\/p>\n<p>Kui hajutatud logimise eest vastutab vahendaja, mitte traditsiooniline s\u00f5numites\u00fcsteem, saab kasutada lisafunktsioone. Transporti on v\u00f5imalik lineaarselt skaleerida peaaegu sama h\u00e4sti kui hajutatud failis\u00fcsteemi. Andmeid saab salvestada logides piisavalt kaua, seega saame mitte ainult s\u00f5numite edastamise, vaid ka teabe hoidmist. Skaleeritav salvestus ilma hirmuta saada muudetav \u00fchine olek.<\/p>\n<p>Seej\u00e4rel saab kasutada stateful stream processing (olekuga voogude t\u00f6\u00f6tlemise) mehhanismi, et lisada deklareeritud andmebaasi t\u00f6\u00f6riistu tarbimisteenustele. See on v\u00e4ga oluline m\u00f5te. Kuni andmed on salvestatud \u00fchistes voogudes, millega k\u00f5ik teenused saavad juurde p\u00e4\u00e4seda, on teenuse poolt \u00fchendamine ja t\u00f6\u00f6tlemine privaatne. Need j\u00e4\u00e4vad rangelt piiratud konteksti isolatsiooni.<\/p>\n<p><img decoding=\"async\" alt=\"Andmete dikotoomia: uue m\u00f5tlemise suhe andmete ja teenustega\" src=\"\/wp-content\/uploads\/2020\/05\/01c8beabb9a02e4c06dffb84f9161324.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <i>Vabanege andmete dikotoomiast, eraldades immutaabelne olekuvoog. Seej\u00e4rel lisage see funktsioon igasse teenusesse Stateful Stream Processing'i abil.<\/i><\/p>\n<p>Seega, kui teie teenus peab t\u00f6\u00f6tama tellimustega, toote katalooge, varudega, on teil t\u00e4ielik juurdep\u00e4\u00e4s: ainult teie otsustate, millised andmed \u00fchendada, kus neid t\u00f6\u00f6delda ja kuidas need ajaga muutuvad. Hoolimata sellest, et andmed on jagatud, on t\u00f6\u00f6tlemine t\u00e4iesti detsentraliseeritud. See toimub igas teenuses, maailmas, kus k\u00f5ik k\u00e4ib teie reeglite j\u00e4rgi.<\/p>\n<p><img decoding=\"async\" alt=\"Andmete dikotoomia: uue m\u00f5tlemise suhe andmete ja teenustega\" src=\"\/wp-content\/uploads\/2020\/05\/4b2635ad8ddd18f455eea654e472f85e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Jagage andmeid nii, et nende terviklikkus ei oleks ohustatud. Omakorda funktsioon, mitte allikas, igas teenuses, kus seda vajatakse.<\/i><\/p>\n<p>Tegelikult v\u00f5ib andmeid olla vaja massiliselt liigutada. M\u00f5nikord vajab teenus valitud andmebaasi mootori jaoks kohalikke ajaloolisi andmekogumeid. Punkt on see, et v\u00f5ite garanteerida, et vajadusel saab koopia taastada allikast, kasutades jaotatud logimise mehhanismi. Kafka \u00fchendajad teevad seda \u00fclesannet suurep\u00e4raselt.<\/p>\n<p>Nii et t\u00e4nasel k\u00e4sitletud l\u00e4henemisel on mitmeid eeliseid:<\/p>\n<ul>\n<li>Andmed kasutatakse \u00fchisvoogudena, mis v\u00f5ivad pikka aega logides s\u00e4ilida, samas kui \u00fchiste andmete t\u00f6\u00f6tlemise mehhanism on igas eraldi kontekstis p\u00f5hjalikult sisse ehitatud, mis v\u00f5imaldab teenustel toimida lihtsalt ja kiiresti. Selline l\u00e4henemine tasakaalustab andmete dualismi.<\/li>\n<li>Erinevatest teenustest saadud andmeid saab h\u00f5lpsasti liita kogudeks. See lihtsustab suhtlemist \u00fchiste andmetega ja kaotab vajaduse toetada kohalikke andmekogusid andmebaasis.<\/li>\n<li>Stateful Stream Processing salvestab andmeid ainult vahem\u00e4llu, samas kui t\u00f5e allikaks j\u00e4\u00e4vad \u00fchised logid, seet\u00f5ttu ei ole andmete ajaga kahjustumise probleem nii terav.<\/li>\n<li>Oma olemuselt juhitakse teenuseid andmete kaudu, mis t\u00e4hendab, et kuigi andmemahtude kasv on pidev, suudavad teenused siiski kiiresti reageerida \u00e4ris\u00fcndmustele.<\/li>\n<li>Skaleeritavuse probleemid langevad maaklerite \u00f5lule, mitte teenustele. Seega v\u00e4heneb teenuste kirjutamise keerukus oluliselt, kuna ei pea muretsema skaleeritavuse p\u00e4rast.<\/li>\n<li>Uute teenuste lisamine ei n\u00f5ua vanade muutmist, mist\u00f5ttu on uute teenuste \u00fchendamine lihtsam.<\/li>\n<\/ul>\n<p>\nNagu n\u00e4ete, on see rohkem kui lihtsalt REST. Meil on t\u00f6\u00f6riistade komplekt, mis v\u00f5imaldab t\u00f6\u00f6tada \u00fchiste andmetega detsentraliseeritud s\u00fcsteemis.<\/p>\n<p>T\u00e4na artiklis ei ole k\u00e4sitletud kaugeltki k\u00f5iki aspekte. Me peame veel v\u00e4lja selgitama, kuidas tasakaalustada p\u00e4ringute ja vastuste paradigma ning s\u00fcndmustep\u00f5hise paradigma vahel. Kuid me tegeleme sellega j\u00e4rgmisel korral. On teemasid, mida tasub p\u00f5hjalikumalt tundma \u00f5ppida, n\u00e4iteks, mis teeb Stateful Stream Processing nii heaks. Sellest r\u00e4\u00e4gime kolmandas artiklis. Samuti on teisi v\u00f5imsaid konstruktsioone, mida saame kasutada, kui me neid rakendame, n\u00e4iteks, <noindex><a rel=\"nofollow\" href=\"https:\/\/cwiki.apache.org\/confluence\/display\/KAFKA\/KIP-98+-+Exactly+Once+Delivery+and+Transactional+Messaging\">Exactly Once Processing<\/a><\/noindex>. Selle abil muutuvad m\u00e4ngureeglid jaotatud \u00e4ris\u00fcsteemide jaoks, kuna see konstruktsioon tagab tehingu garantii <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/X\/Open_XA\">XA<\/a><\/noindex> skaleeritaval viisil. Sellest r\u00e4\u00e4gime neljandas artiklis. Ja l\u00f5puks peame \u00fcle k\u00e4ima nende p\u00f5him\u00f5tete rakendamise detailidest.<\/p>\n<p><img decoding=\"async\" alt=\"Andmete dikotoomia: uue m\u00f5tlemise suhe andmete ja teenustega\" src=\"\/wp-content\/uploads\/2020\/05\/f66eadcc538cf3da74ccb120e1de2ae7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAga seni lihtsalt pea meeles j\u00e4rgmist: andmete dikhootoomia on j\u00f5ud, millega me silmitsi seisame \u00e4riteenuste loomisel. Ja me peame seda meeles pidama. Fookus on selles, et p\u00f6\u00f6rata k\u00f5ik pea peale ja hakata k\u00e4sitlema \u00fchisandmeid esmaklassiliste objektidena. Stateful Stream Processing pakub selleks ainulaadset kompromissi. See v\u00e4ldib tsentraliseeritud \u201ejumalikku komponente\u201d, mis pidurdavad progressi. Veelgi enam, see tagab andmevoogude k\u00e4ideldavuse, skaleeritavuse ja t\u00f5rgeteta t\u00f6\u00f6 ning lisab need igasse teenusesse. Nii saame keskenduda \u00fchiselt m\u00f5ttek\u00e4igule, millele saab \u00fchenduda iga teenus ja t\u00f6\u00f6tada selle andmetega. Seet\u00f5ttu v\u00f5tavad teenused omandades rohkem skaleeritavust, vahetatavust ja iseseisvust. Nad n\u00e4evad seet\u00f5ttu mitte ainult head v\u00e4lja tahvelarvutites ja h\u00fcpoteeside kontrollimisel, vaid toimivad ja arenevad aastak\u00fcmneid. <\/p>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/rVZl\/\">Uuri kursuse kohta l\u00e4hemalt.<br \/>\n<\/a><\/noindex><\/p>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/504310\/\">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! \u0423 \u043d\u0430\u0441 \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0438, \u0432 \u0438\u044e\u043d\u0435 OTUS \u0441\u043d\u043e\u0432\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043a\u0443\u0440\u0441 \u00ab\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u041f\u041e\u00bb, \u0432 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0447\u0435\u043c \u043c\u044b \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e \u0434\u0435\u043b\u0438\u043c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u043c. \u0415\u0441\u043b\u0438 \u0432\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0441\u043e \u0432\u0441\u0435\u0439 \u044d\u0442\u043e\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0435\u0439 \u0441 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438 \u0431\u0435\u0437 \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430, \u0442\u043e \u0432\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0435\u0435 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0441\u0442\u0440\u0430\u043d\u043d\u043e\u0439. \u0420\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u0441\u0435\u0442\u044c\u044e, \u043d\u0435\u043f\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":83249,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-83248","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\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u0423 \u043d\u0430\u0441 \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0438, \u0432 \u0438\u044e\u043d\u0435 OTUS \u0441\u043d\u043e\u0432\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043a\u0443\u0440\u0441 \u00ab\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u041f\u041e\u00bb, \u0432 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0447\u0435\u043c \u043c\u044b \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e \u0434\u0435\u043b\u0438\u043c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u043c. \u0415\u0441\u043b\u0438 \u0432\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0441\u043e \u0432\u0441\u0435\u0439 \u044d\u0442\u043e\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0435\u0439 \u0441 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438 \u0431\u0435\u0437 \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430, \u0442\u043e \u0432\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0435\u0435 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0441\u0442\u0440\u0430\u043d\u043d\u043e\u0439. \u0420\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u0441\u0435\u0442\u044c\u044e, \u043d\u0435\u043f\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\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\/et\/blog\/administrirovanie\/dihotomiya-dannyh-pereosmyslenie-otnosheniya-k-dannym-i-servisam\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\u0414\u0438\u0445\u043e\u0442\u043e\u043c\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445: \u043f\u0435\u0440\u0435\u043e\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u0438\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043a \u0434\u0430\u043d\u043d\u044b\u043c \u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u0423 \u043d\u0430\u0441 \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0438, \u0432 \u0438\u044e\u043d\u0435 OTUS \u0441\u043d\u043e\u0432\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043a\u0443\u0440\u0441 \u00ab\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u041f\u041e\u00bb, \u0432 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0447\u0435\u043c \u043c\u044b \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e \u0434\u0435\u043b\u0438\u043c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u043c. \u0415\u0441\u043b\u0438 \u0432\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0441\u043e \u0432\u0441\u0435\u0439 \u044d\u0442\u043e\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0435\u0439 \u0441 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438 \u0431\u0435\u0437 \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430, \u0442\u043e \u0432\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0435\u0435 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0441\u0442\u0440\u0430\u043d\u043d\u043e\u0439. \u0420\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u0441\u0435\u0442\u044c\u044e, \u043d\u0435\u043f\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/dihotomiya-dannyh-pereosmyslenie-otnosheniya-k-dannym-i-servisam\" \/>\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-29T17:42:48+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-29T17:42:48+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\udd47Andmete dikotoomia: andmete ja teenuste \u00fcmberm\u00f5testamine | ProHoster","description":"Tere k\u00f5igile! Meil on suurep\u00e4raseid uudiseid, juunis k\u00e4ivitab OTUS taas kursuse \"Tarkvaraarhitekt\", mist\u00f5ttu jagame traditsiooniliselt teiega kasulikku materjali. Kui olete kogu selle mikroteenustega seotud looga kokku puutunud ilma igasuguse kontekstita, siis on teil t\u00e4iesti lubatud seda veidi kummalisena pidada. Rakenduse jagamine osadeks, mis on \u00fcksteisega v\u00f5rgu kaudu seotud, t\u00e4hendab kindlasti lisanduvaid","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/dihotomiya-dannyh-pereosmyslenie-otnosheniya-k-dannym-i-servisam","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\u0414\u0438\u0445\u043e\u0442\u043e\u043c\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445: \u043f\u0435\u0440\u0435\u043e\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u0438\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043a \u0434\u0430\u043d\u043d\u044b\u043c \u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u0423 \u043d\u0430\u0441 \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0438, \u0432 \u0438\u044e\u043d\u0435 OTUS \u0441\u043d\u043e\u0432\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043a\u0443\u0440\u0441 \u00ab\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u041f\u041e\u00bb, \u0432 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0447\u0435\u043c \u043c\u044b \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e \u0434\u0435\u043b\u0438\u043c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u043c. \u0415\u0441\u043b\u0438 \u0432\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0441\u043e \u0432\u0441\u0435\u0439 \u044d\u0442\u043e\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0435\u0439 \u0441 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438 \u0431\u0435\u0437 \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430, \u0442\u043e \u0432\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0435\u0435 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0441\u0442\u0440\u0430\u043d\u043d\u043e\u0439. \u0420\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u0441\u0435\u0442\u044c\u044e, \u043d\u0435\u043f\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/dihotomiya-dannyh-pereosmyslenie-otnosheniya-k-dannym-i-servisam","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-29T17:42:48+00:00","article:modified_time":"2020-05-29T17:42:48+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"83248","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:22:24","updated":"2022-09-30 09:53:41"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/83248","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=83248"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/83248\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/83249"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=83248"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=83248"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=83248"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}