{"id":75892,"date":"2020-03-29T01:43:46","date_gmt":"2020-03-28T23:43:46","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/mikroservisy-kombinatornyj-vzryv-versij"},"modified":"2020-03-29T01:43:46","modified_gmt":"2020-03-28T23:43:46","slug":"mikroservisy-kombinatornyj-vzryv-versij","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/mikroservisy-kombinatornyj-vzryv-versij","title":{"rendered":"Mikrosh\u00ebrbimet \u2014 shp\u00ebrthim kombinatorik i versioneve","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>P\u00ebrsh\u00ebndetje, Habr! Po ju paraqes <i>p\u00ebrkthimin ekskluziv t\u00eb artikullit <noindex><a rel=\"nofollow\" href=\"https:\/\/worklifenotes.com\/2020\/03\/04\/microservices-combinatorial-explosion-of-versions\/\">Microservices \u2013 Eksplozion Kombinatorial i Versioneve<\/a><\/noindex>.<\/i><br \/>\n<img decoding=\"async\" alt=\"Mikrosh\u00ebrbimet \u2014 shp\u00ebrthim kombinatorik i versioneve\" src=\"\/wp-content\/uploads\/2020\/03\/595431c434519e41afe45e86c5725b8d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nN\u00eb koh\u00ebn kur bota IT po kalon gradualisht n\u00eb mikroservica dhe mjete si Kubernetes, nj\u00eb problem i vet\u00ebm po b\u00ebhet gjithnj\u00eb e m\u00eb i duksh\u00ebm. Ky problem \u00ebsht\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9A%D0%BE%D0%BC%D0%B1%D0%B8%D0%BD%D0%B0%D1%82%D0%BE%D1%80%D0%BD%D1%8B%D0%B9_%D0%B2%D0%B7%D1%80%D1%8B%D0%B2\">eksplozioni kombinatorial<\/a><\/noindex> i versioneve t\u00eb mikroservicave. Megjithat\u00eb, komuniteti IT beson se situata e sotme \u00ebsht\u00eb duksh\u00ebm m\u00eb e mir\u00eb se <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Dependency_hell\">\u00abHell-i i var\u00ebsive\u00bb<\/a><\/noindex> i brezit t\u00eb m\u00ebparsh\u00ebm t\u00eb teknologjive. Megjithat\u00eb, menaxhimi i versioneve t\u00eb mikroservicave \u00ebsht\u00eb nj\u00eb problem shum\u00eb kompleks. Nj\u00eb d\u00ebshmi p\u00ebr k\u00ebt\u00eb mund t\u00eb jet\u00eb artikujt si <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/444130\/\">\u00abM\u00eb kthe monolitin tim\u00bb<\/a><\/noindex>.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nN\u00ebse po e lexoni k\u00ebt\u00eb tekst dhe nuk e kuptoni problemin, m\u00eb lejoni ta shpjegoj. Supozoni se produkti juaj p\u00ebrb\u00ebhet nga 10 mikroservica. Tani supozoni se p\u00ebr secilin nga k\u00ebta mikroservica del 1 version i ri. Vet\u00ebm 1 version \u2014 shpresoj t\u00eb gjith\u00eb mund t\u00eb pajtohemi se kjo \u00ebsht\u00eb nj\u00eb fakt shum\u00eb trivial dhe i par\u00ebnd\u00ebsish\u00ebm. Tani, megjithat\u00eb, le t\u00eb shikojm\u00eb p\u00ebrs\u00ebri produktin ton\u00eb. Me nj\u00eb version t\u00eb ri p\u00ebr secilin komponent tani kemi 2^10 \u2014 ose 1024 permutacione se si mund ta formojm\u00eb produktin ton\u00eb.<\/p>\n<p>N\u00ebse ende ka paqart\u00ebsi, le t\u00eb shpjegoj matematik\u00ebn. Pra, kemi 10 mikroservica, secili merr nj\u00eb p\u00ebrdit\u00ebsim. Kjo do t\u00eb thot\u00eb se ne kemi 2 versionet e mundshme p\u00ebr \u00e7do mikroservic (ose versionin e vjet\u00ebr, ose at\u00eb t\u00eb ri). Tani, p\u00ebr secilin nga komponent\u00ebt e produktit ne mund t\u00eb p\u00ebrdorim cilin do nga k\u00ebto dy versionet. Matematika e b\u00ebn k\u00ebt\u00eb t\u00eb nj\u00ebjt\u00eb si t\u00eb kishim nj\u00eb num\u00ebr binar prej 10 shifrash. P\u00ebr shembull, le t\u00eb themi se 1 \u00ebsht\u00eb versioni i ri, dhe 0 \u00ebsht\u00eb versioni i vjet\u00ebr \u2014 k\u00ebshtu q\u00eb nj\u00eb permutacion i mundsh\u00ebm mund t\u00eb sh\u00ebnohet si 1001000000 \u2014 ku komponent\u00ebt e par\u00eb dhe t\u00eb kat\u00ebrt jan\u00eb p\u00ebrdit\u00ebsuar, nd\u00ebrsa t\u00eb tjer\u00ebt jo. Nga matematika e dim\u00eb se nj\u00eb num\u00ebr binar prej 10 shifrash mund t\u00eb ket\u00eb 2^10 ose 1024 vlera. Pra, ne e kemi konfirmuar shkall\u00ebn e numrit me t\u00eb cilin kemi t\u00eb b\u00ebjm\u00eb.<\/p>\n<p>T\u00eb vazhdojm\u00eb reflektimet \u2014 \u00e7far\u00eb do t\u00eb ndodhte n\u00ebse do t\u00eb kishim 100 mikroservica dhe secili prej tyre 10 versione t\u00eb mundshme? T\u00eb gjitha situata b\u00ebhet shum\u00eb e pak\u00ebndshme \u2014 tani kemi 10^100 permutacione \u2014 dhe ky \u00ebsht\u00eb nj\u00eb num\u00ebr i madh. Megjithat\u00eb, preferoj ta p\u00ebrshkruaj k\u00ebt\u00eb situat\u00eb pik\u00ebrisht k\u00ebshtu, sepse tani nuk po fshihemi pas fjal\u00ebve si \u00abkubernetes\u00bb, por po e p\u00ebrballemi problemin si\u00e7 \u00ebsht\u00eb.<\/p>\n<p>Pse m\u00eb t\u00ebrheq kaq shum\u00eb ky problem? Pjes\u00ebrisht sepse punova m\u00eb par\u00eb n\u00eb bot\u00ebn e NLP dhe AI, kemi diskutuar shum\u00eb p\u00ebr problematik\u00ebn e eksplozionit kombinatioral rreth 5-6 vjet m\u00eb par\u00eb. Vet\u00ebm se, n\u00eb vend t\u00eb versioneve, ne kishim fjal\u00eb t\u00eb ve\u00e7anta, dhe n\u00eb vend t\u00eb produkteve, kishim fjali dhe paragraf\u00eb. Dhe megjith\u00ebse problemet e NLP dhe AI mbeten deri n\u00eb nj\u00eb mas\u00eb t\u00eb madhe t\u00eb pacaktuara, duhet t\u00eb pranojm\u00eb se gjat\u00eb disa viteve t\u00eb fundit \u00ebsht\u00eb b\u00ebr\u00eb p\u00ebrparim i duksh\u00ebm <i>(sipari\u015ftrani, p\u00ebrparimi do t\u00eb kishte mundur t\u00eb ishte m\u00eb i<b>o<\/b>m\u00eb shum\u00eb, n\u00ebse njer\u00ebzit n\u00eb industri do t\u2019u kushtonin pak m\u00eb pak v\u00ebmendje m\u00ebsimit t\u00eb makinerive dhe pak m\u00eb shum\u00eb teknikave t\u00eb tjera \u2014 por kjo \u00ebsht\u00eb tashm\u00eb nj\u00eb tem\u00eb tjet\u00ebr).<\/i><\/p>\n<p>T\u00eb kthehemi te bota e DevOps dhe mikroservicave. Para nesh \u00ebsht\u00eb nj\u00eb problem i madh, q\u00eb fshehesh si nj\u00eb elefant n\u00eb qend\u00ebr t\u00eb artit \u2014 sepse ajo q\u00eb d\u00ebgjoj shpesh \u00ebsht\u00eb \u2014 \u00abthjesht merr kubernetes dhe helm, dhe gjith\u00e7ka do t\u00eb jet\u00eb mir\u00eb!\u00bb Por jo, gjith\u00e7ka nuk do t\u00eb jet\u00eb mir\u00eb n\u00ebse gj\u00ebrat lihen si\u00e7 jan\u00eb. M\u00eb shum\u00eb p\u00ebr, nj\u00eb zgjidhje analitike e k\u00ebtij problemi nuk duket e pranueshme p\u00ebr shkak t\u00eb kompleksitetit. Si n\u00eb NLP, duhet t\u00eb afrohemi fillimisht k\u00ebtij problemi duke ngushtuar fush\u00ebn e k\u00ebrkimit \u2014 n\u00eb k\u00ebt\u00eb rast, duke p\u00ebrjashtuar permutacionet e vjetra.<\/p>\n<p>Nj\u00eb nga gj\u00ebrat q\u00eb mund t\u00eb ndihmoj\u00eb \u2014 kam shkruar vitin e kaluar <noindex><a rel=\"nofollow\" href=\"https:\/\/worklifenotes.com\/2019\/03\/21\/devops-kpis-measuring-distance-between-latest-and-greatest-and-oldest-production-version\/\">n\u00eb lidhje me nevoj\u00ebn p\u00ebr t\u00eb mbajtur nj\u00eb dallim minimal midis versioneve t\u00eb publikuara p\u00ebr klient\u00ebt<\/a><\/noindex>. Gjithashtu, \u00ebsht\u00eb e r\u00ebnd\u00ebsishme t\u00eb theksohet se nj\u00eb proces i mir\u00eb i CI\/CD ndihmon shum\u00eb n\u00eb reduktimin e variacioneve. Megjithat\u00eb, situata e sotme me CI\/CD nuk \u00ebsht\u00eb mjaft e mir\u00eb p\u00ebr t\u00eb zgjidhur problemin e permutacioneve pa mjete shtes\u00eb p\u00ebr llogaritjen dhe ndjekjen e komponent\u00ebve.<\/p>\n<p>Ajo q\u00eb na nevojitet \u2014 \u00ebsht\u00eb nj\u00eb sistem eksperimentesh n\u00eb faz\u00ebn e integrimit, ku mund t\u00eb p\u00ebrcaktojm\u00eb faktor\u00ebt e rrezikut p\u00ebr \u00e7do komponent, si dhe t\u00eb kemi nj\u00eb proces automatizimi p\u00ebr p\u00ebrdit\u00ebsimin e komponent\u00ebve t\u00eb ndrysh\u00ebm dhe testimin pa nd\u00ebrhyrjen e operatoret \u2014 p\u00ebr t\u00eb par\u00eb se \u00e7far\u00eb funksionon dhe \u00e7far\u00eb jo.<\/p>\n<p>Nj\u00eb sistem i till\u00eb eksperimentesh mund t\u00eb duket si m\u00eb posht\u00eb:<\/p>\n<ol>\n<li>Zhvilluesit shkruajn\u00eb teste (ky \u00ebsht\u00eb nj\u00eb hap kritik \u2014 sepse n\u00eb t\u00eb kund\u00ebrt, ne nuk kemi nj\u00eb kriter vler\u00ebsimi \u2014 kjo \u00ebsht\u00eb si etiketimi i t\u00eb dh\u00ebnave n\u00eb m\u00ebsimin e makinerive).<\/li>\n<li>\u00c7do komponent (projekt) merr sistemin e vet CI \u2014 ky proces \u00ebsht\u00eb punuar mir\u00eb deri tani, dhe \u00e7\u00ebshtja e krijimit t\u00eb nj\u00eb sistemi CI p\u00ebr nj\u00eb komponent t\u00eb ve\u00e7ant\u00eb \u00ebsht\u00eb n\u00eb shumic\u00ebn e rasteve e zgjidhur<\/li>\n<li>Sistemi i menaxhimit t\u00eb integrimeve mbledh rezultatet e sistemave t\u00eb ndryshme CI dhe grumbullon projektet-komponent\u00eb n\u00eb nj\u00eb produkt p\u00ebrfundimtar, nis testimin dhe n\u00eb fund llogarit rrug\u00ebn m\u00eb t\u00eb shkurt\u00ebr p\u00ebr t\u00eb arritur funksionalitetin e d\u00ebshiruar t\u00eb produktit bazuar n\u00eb komponent\u00ebt ekzistues dhe faktor\u00ebt e rrezikut. N\u00ebse p\u00ebrdit\u00ebsimi nuk \u00ebsht\u00eb i mundur, ky sistem i njofton zhvilluesit p\u00ebr komponent\u00ebt e disponuesh\u00ebm dhe p\u00ebr cilin prej tyre ndodhi gabimi. Ta themi p\u00ebrs\u00ebri, sistemi i testeve k\u00ebtu ka r\u00ebnd\u00ebsi kritike \u2014 pasi sistemi i integrimeve p\u00ebrdor testet si kriter vler\u00ebsimi.<\/li>\n<li>Sistemi CD, i cili pastaj merr t\u00eb dh\u00ebnat nga \u00abSistemi i menaxhimit t\u00eb integrimeve\u00bb dhe realizon p\u00ebrdit\u00ebsimin. Ky stad p\u00ebrfundon ciklin.<\/li>\n<\/ol>\n<p>\nP\u00ebr sa i p\u00ebrket p\u00ebrmbledhjes, nj\u00eb nga problemet m\u00eb t\u00eb m\u00ebdha p\u00ebr mua tani \u00ebsht\u00eb mungesa e nj\u00eb \u00abSistemi t\u00eb menaxhimit t\u00eb integrimeve\u00bb q\u00eb do t\u00eb lidhte komponent\u00ebt e ndrysh\u00ebm n\u00eb nj\u00eb produkt dhe k\u00ebshtu do t\u00eb lejonte t\u00eb monitorohej si \u00ebsht\u00eb formuar produkti n\u00eb t\u00ebr\u00ebsi. Do t\u00eb isha i interesuar p\u00ebr mendimet e komunitetit rreth k\u00ebsaj (spoiler \u2014 tani po punoj n\u00eb nj\u00eb projekt <noindex><a rel=\"nofollow\" href=\"https:\/\/relizahub.com\">Reliza<\/a><\/noindex>, i cili mund t\u00eb b\u00ebhet nj\u00eb sistem i till\u00eb i menaxhimit t\u00eb integrimeve).<\/p>\n<p>Nj\u00eb gj\u00eb e fundit q\u00eb dua t\u00eb p\u00ebrmend \u2014 p\u00ebr mua, monoliti nuk \u00ebsht\u00eb i pranuesh\u00ebm p\u00ebr asnj\u00eb projekt t\u00eb pakt\u00ebn mesatar. Kam skeptikiz\u00ebm t\u00eb madh ndaj p\u00ebrpjekjeve p\u00ebr t\u00eb p\u00ebrshpejtuar koh\u00ebn e realizimit dhe cil\u00ebsin\u00eb e zhvillimit p\u00ebrmes rikthimit n\u00eb monolit. S\u00eb pari, monoliti ka nj\u00eb problem t\u00eb ngjash\u00ebm me menaxhimin e komponent\u00ebve \u2014 mes bibliotekave t\u00eb ndryshme, nga t\u00eb cilat p\u00ebrb\u00ebhet, por kjo nuk \u00ebsht\u00eb aq e dukshme dhe shfaqet kryesisht n\u00eb koh\u00ebn q\u00eb shpenzojn\u00eb zhvilluesit. Si pasoj\u00eb e problemit me monolitin \u00ebsht\u00eb pamund\u00ebsia reale p\u00ebr t\u00eb b\u00ebr\u00eb ndryshime n\u00eb kod \u2014 dhe nj\u00eb shpejt\u00ebsi t\u00eb zhvillimit shum\u00eb t\u00eb ngadalt\u00eb.<\/p>\n<p>Mikrosh\u00ebrbimet e p\u00ebrmir\u00ebsojn\u00eb situat\u00ebn, megjithat\u00eb m\u00eb pas arkitektura e mikrosh\u00ebrbimeve has nj\u00eb problem t\u00eb shp\u00ebrthimit kombinatorial n\u00eb faz\u00ebn e integrimit. Po, n\u00eb p\u00ebrgjith\u00ebsi, ne e kemi l\u00ebvizur t\u00eb nj\u00ebjtin problem \u2014 nga faza e zhvillimit n\u00eb faz\u00ebn e integrimit. Megjithat\u00eb, n\u00eb mendimin tim, qasja e mikrosh\u00ebrbimeve prap\u00eb sjell rezultate m\u00eb t\u00eb mira, dhe ekipet arrijn\u00eb rezultate m\u00eb shpejt (ndoshta kryesisht p\u00ebr shkak t\u00eb reduktimit t\u00eb madh\u00ebsive t\u00eb nj\u00ebsis\u00eb s\u00eb zhvillimit \u2014 ose <i>batch size<\/i>). Megjithat\u00eb, kalimi nga monoliti n\u00eb mikrosh\u00ebrbime nuk ka dh\u00ebn\u00eb ende p\u00ebrmir\u00ebsimin e mjaftuesh\u00ebm t\u00eb procesit \u2014 shp\u00ebrthimi kombinatorial i versioneve t\u00eb mikrosh\u00ebrbimeve \u00ebsht\u00eb nj\u00eb problem i madh, dhe ne kemi nj\u00eb potencial t\u00eb madh p\u00ebr p\u00ebrmir\u00ebsimin e situat\u00ebs nd\u00ebrsa e zgjidhim at\u00eb.<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/494340\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u0430\u0432\u0442\u043e\u0440\u0441\u043a\u0438\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 Microservices \u2013 Combinatorial Explosion of Versions. \u0412\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0430 \u043a\u043e\u0433\u0434\u0430 \u043c\u0438\u0440 IT \u043f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0432\u0440\u043e\u0434\u0435 Kubernetes, \u0432\u0441\u0435 \u0431\u043e\u043b\u0435\u0435 \u0437\u0430\u043c\u0435\u0442\u043d\u043e\u0439 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043b\u0438\u0448\u044c \u043e\u0434\u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430. \u042d\u0442\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u2014 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0442\u043e\u0440\u043d\u044b\u0439 \u0432\u0437\u0440\u044b\u0432 \u0432\u0435\u0440\u0441\u0438\u0439 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432. \u0412\u0441\u0435 \u0436\u0435 IT \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442, \u0447\u0442\u043e \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u044f\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u0443\u0447\u0448\u0435, \u0447\u0435\u043c \u00abDependency hell\u00bb \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":75893,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-75892","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.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440!\" \/>\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\/mikroservisy-kombinatornyj-vzryv-versij\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\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\udd47\u041c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b \u2014 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0442\u043e\u0440\u043d\u044b\u0439 \u0432\u0437\u0440\u044b\u0432 \u0432\u0435\u0440\u0441\u0438\u0439 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440!\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/mikroservisy-kombinatornyj-vzryv-versij\" \/>\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-28T23:43:46+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-28T23:43:46+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\udd47Mikrosh\u00ebrbimet \u2014 shp\u00ebrthimi kombinatorial i versioneve | ProHoster","description":"P\u00ebrsh\u00ebndetje, Habr!","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/mikroservisy-kombinatornyj-vzryv-versij","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\udd47\u041c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b \u2014 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0442\u043e\u0440\u043d\u044b\u0439 \u0432\u0437\u0440\u044b\u0432 \u0432\u0435\u0440\u0441\u0438\u0439 | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440!","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/mikroservisy-kombinatornyj-vzryv-versij","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-28T23:43:46+00:00","article:modified_time":"2020-03-28T23:43:46+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"75892","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 17:47:28","updated":"2022-09-30 17:33:29","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/75892","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=75892"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/75892\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/75893"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=75892"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=75892"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=75892"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}