{"id":32777,"date":"2019-10-31T21:48:52","date_gmt":"2019-10-31T18:48:52","guid":{"rendered":"https:\/\/prohoster.info\/blog\/netramesh-legkovesnoe-service-mesh-reshenie\/"},"modified":"2019-10-31T21:48:52","modified_gmt":"2019-10-31T18:48:52","slug":"netramesh-legkovesnoe-service-mesh-reshenie","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/netramesh-legkovesnoe-service-mesh-reshenie","title":{"rendered":"Netramesh \u2013 nj\u00eb zgjidhje e leht\u00eb p\u00ebr service mesh","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>N\u00eb procesin e kalimit nga aplikacioni monolitik n\u00eb arkitektur\u00ebn mikrosh\u00ebrbimeve, ne p\u00ebrballemi me probleme t\u00eb reja.<\/p>\n<p><\/p>\n<p>N\u00eb nj\u00eb aplikacion monolitik, zakonisht mjafton t\u00eb p\u00ebrcaktohet se n\u00eb cil\u00ebn pjes\u00eb t\u00eb sistemit ndodhi gabimi. M\u00eb shum\u00eb mund\u00ebsi, problemi \u00ebsht\u00eb n\u00eb kodin e vet\u00eb monolitit ose n\u00eb baz\u00ebn e t\u00eb dh\u00ebnave. Por kur fillojm\u00eb t\u00eb k\u00ebrkojm\u00eb problemin n\u00eb arkitektur\u00ebn mikrosh\u00ebrbimeve, gj\u00ebrat nuk jan\u00eb aq t\u00eb qarta. Duhet t\u00eb gjejm\u00eb t\u00eb gjith\u00eb rrug\u00ebn q\u00eb ka b\u00ebr\u00eb k\u00ebrkesa nga fillimi n\u00eb fund, duke e ndar\u00eb at\u00eb nga qindra mikrosh\u00ebrbime. P\u00ebr m\u00eb tep\u00ebr, shum\u00eb prej tyre kan\u00eb ruajtje t\u00eb vetat, ku gjithashtu mund t\u00eb ndodhin gabime logjike, si dhe probleme me performanc\u00ebn dhe disponueshm\u00ebrin\u00eb.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 nj\u00eb zgjidhje e leht\u00eb p\u00ebr service mesh\" src=\"\/wp-content\/uploads\/2019\/04\/f583f3d8d4a2239411628aa8f4d06041.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kam k\u00ebrkuar gjat\u00eb p\u00ebr nj\u00eb mjet q\u00eb do t\u00eb ndihmonte t\u00eb merrej me k\u00ebto probleme (kam shkruar p\u00ebr k\u00ebt\u00eb n\u00eb Habra: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/avito\/blog\/419319\/\">1<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/avito\/blog\/433650\/\">2<\/a><\/noindex>), por n\u00eb fund krijova nj\u00eb zgjidhje t\u00eb vet\u00ebn me burim t\u00eb hapur. N\u00eb k\u00ebt\u00eb artikull, tregoj p\u00ebr avantazhet e qasjes service mesh dhe ndaja nj\u00eb mjet t\u00eb ri p\u00ebr implementimin e saj. <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>P\u00ebrgjimi i shp\u00ebrndar\u00eb \u00ebsht\u00eb nj\u00eb zgjidhje e zakonshme p\u00ebr problemin e gjetjes s\u00eb gabimeve n\u00eb sistemet e shp\u00ebrndara. Por \u00e7far\u00eb ndodh n\u00ebse n\u00eb sistem ende nuk \u00ebsht\u00eb implementuar nj\u00eb qasje e till\u00eb p\u00ebr mbledhjen e informacionit mbi nd\u00ebrveprimet rrjet\u00ebrore, ose, \u00e7far\u00eb \u00ebsht\u00eb m\u00eb keq, n\u00eb nj\u00eb pjes\u00eb t\u00eb sistemit, ajo tashm\u00eb funksionon si\u00e7 duhet, nd\u00ebrsa n\u00eb nj\u00eb pjes\u00eb tjet\u00ebr nuk \u00ebsht\u00eb e instaluar, pasi nuk \u00ebsht\u00eb shtuar n\u00eb sh\u00ebrbimet e vjetra? P\u00ebr t\u00eb p\u00ebrcaktuar shkakun e sakt\u00eb t\u00eb problemit, \u00ebsht\u00eb e nevojshme t\u00eb kemi nj\u00eb pamje t\u00eb plot\u00eb t\u00eb asaj q\u00eb ndodh n\u00eb sistem. Sidomos e r\u00ebnd\u00ebsishme \u00ebsht\u00eb t\u00eb kuptojm\u00eb se cilat mikrosh\u00ebrbime jan\u00eb t\u00eb angazhuara n\u00eb rrug\u00ebt kryesore kritike p\u00ebr biznesin.<\/p>\n<p><\/p>\n<p>K\u00ebtu na ndihmon qasja service mesh, e cila do t\u00eb merret me gjith\u00eb mekanizmin e mbledhjes s\u00eb informacionit rrjetor n\u00eb nj\u00eb nivel m\u00eb t\u00eb ul\u00ebt se sa funksionojn\u00eb vet\u00eb sh\u00ebrbimet. Kjo qasje na lejon t\u00eb kapim t\u00eb gjith\u00eb trafikun dhe ta analizojm\u00eb at\u00eb n\u00eb koh\u00eb reale. Madje, aplikacionet as nuk duhet t\u00eb din\u00eb ndonj\u00eb gj\u00eb p\u00ebr t\u00eb.<\/p>\n<p><\/p>\n<h1 id=\"service-mesh-podhod\">Qasja service mesh<\/h1>\n<p><\/p>\n<p>Ideja kryesore e qasjes n\u00eb service mesh \u00ebsht\u00eb shtimi i nj\u00eb shtrese tjet\u00ebr infrastrukturore mbi rrjetin, e cila na lejon t\u00eb b\u00ebjm\u00eb gjith\u00e7ka me nd\u00ebrveprimin midis sh\u00ebrbimeve. Shumica e realizimeve funksionojn\u00eb si m\u00eb posht\u00eb: p\u00ebr \u00e7do mikrosherbim shtohet nj\u00eb kontejner sidecar shtes\u00eb me nj\u00eb proxy transparent, p\u00ebrmes t\u00eb cilit kalon e gjith\u00eb trafiku hyr\u00ebs dhe dal\u00ebs i sh\u00ebrbimit. Dhe kjo \u00ebsht\u00eb pik\u00ebrisht ajo ku mund t\u00eb b\u00ebjm\u00eb balancimin e klientit, t\u00eb aplikojm\u00eb politika sigurie, t\u00eb vendosim kufizime mbi numrin e k\u00ebrkesave dhe t\u00eb mbledhim informacion t\u00eb r\u00ebnd\u00ebsish\u00ebm mbi nd\u00ebrveprimin e sh\u00ebrbimeve n\u00eb produksion.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 nj\u00eb zgjidhje e leht\u00eb p\u00ebr service mesh\" src=\"\/wp-content\/uploads\/2019\/04\/b1f8636e3b99a3814138b6443b3e0799.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h1 id=\"resheniya\">Zgjidhjet<\/h1>\n<p><\/p>\n<p>Tashm\u00eb ekzistojn\u00eb disa realizime t\u00eb k\u00ebtij qasjeje: <noindex><a rel=\"nofollow\" href=\"https:\/\/istio.io\/\">Istio<\/a><\/noindex> dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/linkerd.io\/2\/overview\/\">linkerd2<\/a><\/noindex>. Ato ofrojn\u00eb shum\u00eb mund\u00ebsi nga kutia. Por p\u00ebrkrah k\u00ebsaj vjen gjithashtu dhe nj\u00eb overhead i madh n\u00eb burime. P\u00ebr m\u00eb tep\u00ebr, sa m\u00eb i madh t\u00eb jet\u00eb klasteri n\u00eb t\u00eb cilin punon nj\u00eb sistem i till\u00eb, aq m\u00eb shum\u00eb burime do t\u00eb k\u00ebrkohen p\u00ebr mb\u00ebshtetje t\u00eb infrastruktur\u00ebs s\u00eb re. N\u00eb Avito ne shfryt\u00ebzojm\u00eb klastere Kubernetes, n\u00eb t\u00eb cilat ndodhen mij\u00ebra ekzemplar\u00eb sh\u00ebrbimesh (dhe numri vazhdon t\u00eb rritet shpejt). N\u00eb realizimin aktual Istio konsumon rreth 300Mb memorie operative p\u00ebr \u00e7do ekzemplar sh\u00ebrbimi. P\u00ebr shkak t\u00eb numrit t\u00eb madh t\u00eb mund\u00ebsive, balancimi transparent gjithashtu ndikon n\u00eb koh\u00ebn totale t\u00eb p\u00ebrgjigjes s\u00eb sh\u00ebrbimeve (deri n\u00eb 10ms).<\/p>\n<p><\/p>\n<p>Si rezultat, ne shqyrtuam se cilat mund\u00ebsi na nevojiten pik\u00ebrisht tani dhe vendos\u00ebm se arsyeja kryesore pse filluam t\u00eb implementonim zgjidhje t\u00eb tilla ishte mund\u00ebsia p\u00ebr t\u00eb mbledhur informacion tracing nga gjith\u00eb sistemi n\u00eb m\u00ebnyr\u00eb transparente. Po ashtu, d\u00ebshironim t\u00eb kishim kontroll mbi nd\u00ebrveprimin e sh\u00ebrbimeve dhe t\u00eb b\u00ebnim manipulime t\u00eb ndryshme me titujt q\u00eb kalojn\u00eb midis sh\u00ebrbimeve. <\/p>\n<p><\/p>\n<p>Si rezultat, ne arrit\u00ebm n\u00eb zgjidhjen ton\u00eb: <noindex><a rel=\"nofollow\" href=\"http:\/\/bit.ly\/netra_ru\">Netramesh<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h1 id=\"netramesh\">Netramesh<\/h1>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/bit.ly\/netra_ru\">Netramesh<\/a><\/noindex> \u2014 \u00ebsht\u00eb nj\u00eb zgjidhje e leht\u00eb service mesh me mund\u00ebsi p\u00ebr shkall\u00ebzim t\u00eb pakufizuar, pavar\u00ebsisht nga numri i sh\u00ebrbimeve n\u00eb sistem.<\/p>\n<p><\/p>\n<p>Q\u00ebllimet kryesore t\u00eb zgjidhjes s\u00eb re ishin nj\u00eb overhead i vog\u00ebl n\u00eb burime dhe performanc\u00eb e lart\u00eb. Nga mund\u00ebsit\u00eb kryesore, ne d\u00ebshironim menj\u00ebher\u00eb t\u00eb kishim mund\u00ebsin\u00eb t\u00eb d\u00ebrgonim transparente tracing span n\u00eb sistemin ton\u00eb Jaeger.<\/p>\n<p><\/p>\n<p>Sot t\u00ebrhoqur sot, shumica e zgjidhjeve cloud realizohen n\u00eb Golang. Dhe, natyrisht, ka disa arsye p\u00ebr k\u00ebt\u00eb. T\u00eb shkruash aplikacione rrjet\u00eb n\u00eb Golang, t\u00eb cilat punojn\u00eb asinkronisht me hyrje-dalje dhe zgjerohen sipas nevoj\u00ebs n\u00eb b\u00ebrthamat, \u00ebsht\u00eb e p\u00ebrshtatshme dhe mjaft e thjesht\u00eb. Dhe, \u00e7ka \u00ebsht\u00eb gjithashtu shum\u00eb e r\u00ebnd\u00ebsishme, performanca rezulton t\u00eb jet\u00eb e mjaftueshme p\u00ebr t\u00eb zgjidhur k\u00ebt\u00eb detyr\u00eb. Prandaj, ne gjithashtu zgjodh\u00ebm Golang.<\/p>\n<p><\/p>\n<h1 id=\"proizvoditelnost\">Performanca<\/h1>\n<p><\/p>\n<p>Ne fokusohemi n\u00eb arritjen e performanc\u00ebs maksimale. P\u00ebr zgjidhjen q\u00eb deployohet af\u00ebr \u00e7do instance t\u00eb sh\u00ebrbimit, nevojitet pak konsum i memories dhe koh\u00eb procesorike. Dhe, natyrisht, vonesa n\u00eb p\u00ebrgjigje gjithashtu duhet t\u00eb jet\u00eb sa m\u00eb e vog\u00ebl.<\/p>\n<p><\/p>\n<p>Le t\u00eb shikojm\u00eb se cilat rezultate kemi arritur. <\/p>\n<p><\/p>\n<h2 id=\"ram\">RAM<\/h2>\n<p><\/p>\n<p>Netramesh konsumon ~10Mb pa trafik dhe deri n\u00eb 50Mb maksimalisht me ngarkes\u00eb deri n\u00eb 10000 RPS p\u00ebr \u00e7do instanc\u00eb.<\/p>\n<p><\/p>\n<p>Istio envoy proxy gjithmon\u00eb konsumon ~300Mb n\u00eb klaster\u00ebt tan\u00eb me mij\u00ebra instanca. Kjo nuk lejon q\u00eb ta shkall\u00ebzojm\u00eb at\u00eb n\u00eb t\u00eb gjith\u00eb klasterin.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 nj\u00eb zgjidhje e leht\u00eb p\u00ebr service mesh\" src=\"\/wp-content\/uploads\/2019\/04\/665b46c30183d502900027b7b3fcf2aa.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 nj\u00eb zgjidhje e leht\u00eb p\u00ebr service mesh\" src=\"\/wp-content\/uploads\/2019\/04\/d862122a15eb92402e35cb68c448f7c7.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Me Netramesh kemi arritur nj\u00eb reduktim t\u00eb konsumit t\u00eb memories me ~10 her\u00eb.<\/p>\n<p><\/p>\n<h2 id=\"cpu\">CPU<\/h2>\n<p><\/p>\n<p>P\u00ebrdorimi i CPU-s\u00eb \u00ebsht\u00eb relativisht i nj\u00ebjt\u00eb n\u00ebn ngarkes\u00eb. Ajo varet nga numri i k\u00ebrkesave n\u00eb nj\u00ebsi kohe p\u00ebr sidecar. Vlerat n\u00eb 3000 k\u00ebrkesa n\u00eb sekond\u00eb n\u00eb pik\u00eb:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 nj\u00eb zgjidhje e leht\u00eb p\u00ebr service mesh\" src=\"\/wp-content\/uploads\/2019\/04\/6dbae38c42706dc3fbb833fdaf058b48.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 nj\u00eb zgjidhje e leht\u00eb p\u00ebr service mesh\" src=\"\/wp-content\/uploads\/2019\/04\/5a2eff682a457b620cbf71b520d90ca4.jpg\" style=\"display:block;margin: 0 auto;\" \/> <\/p>\n<p><\/p>\n<p>Ka nj\u00eb moment tjet\u00ebr t\u00eb r\u00ebnd\u00ebsish\u00ebm: Netramesh \u00ebsht\u00eb nj\u00eb zgjidhje pa plan kontrolli dhe pa ngarkes\u00eb nuk konsumon koh\u00eb procesorike. N\u00eb Istio, sidecar-et gjithmon\u00eb p\u00ebrdit\u00ebsojn\u00eb endpoint-et e sh\u00ebrbimeve. Si rezultat, mund t\u00eb shohim k\u00ebt\u00eb pamje pa ngarkes\u00eb:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 nj\u00eb zgjidhje e leht\u00eb p\u00ebr service mesh\" src=\"\/wp-content\/uploads\/2019\/04\/6e0212c6d34f8fdabf7b2f50a4f8137a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ne p\u00ebrdorim HTTP\/1 p\u00ebr nd\u00ebrveprimin midis sh\u00ebrbimeve. Rritja e koh\u00ebs s\u00eb p\u00ebrgjigjes te Istio kur proksionohet p\u00ebrmes envoy ishte deri n\u00eb 5-10ms, q\u00eb \u00ebsht\u00eb mjaft shum\u00eb p\u00ebr sh\u00ebrbimet q\u00eb jan\u00eb t\u00eb gatshme t\u00eb p\u00ebrgjigjen brenda nj\u00eb milisekunde. Me Netramesh, ky koh\u00eb \u00ebsht\u00eb reduktuar n\u00eb 0.5-2ms.<\/p>\n<p><\/p>\n<h1 id=\"masshtabiruemost\">Shkall\u00ebzueshm\u00ebria<\/h1>\n<p><\/p>\n<p>Nj\u00eb num\u00ebr i vog\u00ebl burimesh t\u00eb shpenzuara nga \u00e7do proxy lejon q\u00eb ta vendosim at\u00eb af\u00ebr \u00e7do sh\u00ebrbimi. Netramesh \u00ebsht\u00eb krijuar q\u00ebllimisht pa komponentin e planit t\u00eb kontrollit p\u00ebr t\u00eb mbajtur leht\u00ebsin\u00eb e \u00e7do sidecar-i. Shpesh n\u00eb zgjidhjet e service mesh, plani i kontrollit shp\u00ebrndan informacionin e zbulimit t\u00eb sh\u00ebrbimeve n\u00eb \u00e7do sidecar. Me t\u00eb vjen gjithashtu informacioni rreth timeout-eve, konfigurimeve t\u00eb balancimit. T\u00eb gjitha k\u00ebto lejojn\u00eb t\u00eb b\u00ebhen shum\u00eb gj\u00ebra t\u00eb dobishme, por, fatkeq\u00ebsisht, fryjn\u00eb sidecar\u00ebt n\u00eb madh\u00ebsi. <\/p>\n<p><\/p>\n<h1 id=\"service-discovery\">Zbulimi i sh\u00ebrbimeve<\/h1>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 nj\u00eb zgjidhje e leht\u00eb p\u00ebr service mesh\" src=\"\/wp-content\/uploads\/2019\/04\/26bc86ed2ebf15a8d51388982e23e16d.jpg\" style=\"display:block;margin: 0 auto;\" \/> <\/p>\n<p><\/p>\n<p>Netramesh nuk shton asnj\u00eb mekaniz\u00ebm shtes\u00eb p\u00ebr zbulimin e sh\u00ebrbimeve. T\u00eb gjith\u00eb trafiku proksionohet n\u00eb m\u00ebnyr\u00eb transparente p\u00ebrmes netra sidecar. <\/p>\n<p><\/p>\n<p>Netramesh mb\u00ebshtet protokollin e aplikacionit HTTP\/1. P\u00ebr ta p\u00ebrcaktuar, p\u00ebrdoret nj\u00eb list\u00eb portesh t\u00eb konfigurueshme. Zakonisht n\u00eb sistem ka disa porte, me t\u00eb cilat ndodhin nd\u00ebrveprime n\u00ebp\u00ebrmjet HTTP. P\u00ebr shembull, p\u00ebr nd\u00ebrveprimin e sh\u00ebrbimeve dhe k\u00ebrkesave t\u00eb jashtme, ne p\u00ebrdorim 80, 8890, 8080. N\u00eb k\u00ebt\u00eb rast, ata mund t\u00eb p\u00ebrcaktohen me an\u00eb t\u00eb variablit t\u00eb mjedisit <code>NETRA_HTTP_PORTS<\/code>.<\/p>\n<p><\/p>\n<p>N\u00ebse po p\u00ebrdorni Kubernetes si orkestrator dhe mekanizmin e tij t\u00eb entiteteve Sh\u00ebrbim p\u00ebr nd\u00ebrveprimin brenda grumbullit midis sh\u00ebrbimeve, at\u00ebher\u00eb mekanizmi mbetet sexact k\u00ebshtu. Fillimisht, mikrosh\u00ebrbimi merr adres\u00ebn IP t\u00eb sh\u00ebrbimit p\u00ebrmes kube-dns dhe hap nj\u00eb lidhje t\u00eb re me t\u00eb. Kjo lidhje krijohet fillimisht me netra-sidecar lokal dhe t\u00eb gjith\u00eb paketat TCP fillimisht arrijn\u00eb sakt\u00ebsisht n\u00eb netra. M\u00eb pas, netra-sidecar krijon lidhjen me pik\u00ebn e origjin\u00ebs. NAT n\u00eb pod IP n\u00eb nod mbetet sexact ashtu si pa netra.<\/p>\n<p><\/p>\n<h1 id=\"raspredelennyy-tracing-i-prokidyvanie-konteksta\">Ndjekja e shp\u00ebrndar\u00eb dhe kalimi i kontekstit<\/h1>\n<p><\/p>\n<p>Netramesh ofron funksionalitetin e nevojsh\u00ebm p\u00ebr d\u00ebrgimin e span'\u00ebve t\u00eb ndjekjes p\u00ebr nd\u00ebrveprimin HTTP. Netra-sidecar analizojn\u00eb protokollin HTTP, masin vonesat e k\u00ebrkesave, nxjerrin informacionin e nevojsh\u00ebm nga header-at HTTP. N\u00eb fund, ne marrim t\u00eb gjitha ndjekjet n\u00eb nj\u00eb sistem t\u00eb vet\u00ebm Jaeger. P\u00ebr konfigurim t\u00eb holl\u00ebsish\u00ebm, mund t\u00eb p\u00ebrdoren gjithashtu variablat e mjedisit q\u00eb ofron biblioteka zyrtare <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jaegertracing\/jaeger-client-go#environment-variables\">jaeger go library<\/a><\/noindex>. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 nj\u00eb zgjidhje e leht\u00eb p\u00ebr service mesh\" src=\"\/wp-content\/uploads\/2019\/04\/22a2d3be2cef1e495702ad75e062676f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 nj\u00eb zgjidhje e leht\u00eb p\u00ebr service mesh\" src=\"\/wp-content\/uploads\/2019\/04\/20ff67f0c7f3590dce3d41db2a10267e.jpg\" style=\"display:block;margin: 0 auto;\" \/> <\/p>\n<p><\/p>\n<p>Por ka nj\u00eb problem. Derisa sh\u00ebrbimet t\u00eb fillojn\u00eb t\u00eb gjenerojn\u00eb dhe kalojn\u00eb nj\u00eb header t\u00eb ve\u00e7ant\u00eb uber, ne nuk do t\u00eb shohim span'\u00ebt e ndjekjes t\u00eb lidhur n\u00eb sistem. Dhe kjo \u00ebsht\u00eb ajo q\u00eb na nevojitet p\u00ebr t\u00eb gjetur shpejt shkakun e problemeve. K\u00ebtu Netramesh p\u00ebrs\u00ebri ka nj\u00eb zgjidhje. Proxy-t lexojn\u00eb header-at HTTP dhe, n\u00ebse ato nuk kan\u00eb uber trace id, e gjenerojn\u00eb at\u00eb. Netramesh gjithashtu ruan informacionin mbi k\u00ebrkesat hyr\u00ebse dhe dal\u00ebse n\u00eb sidecar dhe i korrespondon ato duke i pasuruar me header-at e nevojsh\u00ebm t\u00eb k\u00ebrkesave dal\u00ebse. \u00c7far\u00ebdo q\u00eb duhet t\u00eb b\u00ebni n\u00eb sh\u00ebrbime \u00ebsht\u00eb t\u00eb kaloni vet\u00ebm nj\u00eb header <code>X-Request-Id<\/code>, i cili mund t\u00eb konfigurohet me an\u00eb t\u00eb variablit t\u00eb mjedisit <code>NETRA_HTTP_REQUEST_ID_HEADER_NAME<\/code>. P\u00ebr t\u00eb menaxhuar madh\u00ebsin\u00eb e kontekstit n\u00eb Netramesh, mund t\u00eb p\u00ebrcaktoni variablit e mjedisit t\u00eb m\u00ebposht\u00ebm: <code>NETRA_TRACING_CONTEXT_EXPIRATION_MILLISECONDS<\/code> (koha brenda s\u00eb cil\u00ebs do t\u00eb ruhet konteksti) dhe <code>NETRA_TRACING_CONTEXT_CLEANUP_INTERVAL<\/code> (frekuenca e pastrimit t\u00eb kontekstit).<\/p>\n<p><\/p>\n<p>Gjithashtu \u00ebsht\u00eb e mundur t\u00eb kombinoni disa rrug\u00eb n\u00eb sistemin tuaj duke i ndikuar ato me nj\u00eb marker t\u00eb ve\u00e7ant\u00eb sesioni. Netra lejon vendosjen <code>HTTP_HEADER_TAG_MAP<\/code> p\u00ebr t\u00eb kthyer headerat HTTP n\u00eb tags p\u00ebrkat\u00ebse t\u00eb tracing span. Kjo mund t\u00eb jet\u00eb ve\u00e7an\u00ebrisht e dobishme p\u00ebr testimin. Pas p\u00ebrfundimit t\u00eb nj\u00eb testi funksional, mund t\u00eb shikoni se cila pjes\u00eb e sistemit \u00ebsht\u00eb prekur, duke filtruar sipas \u00e7el\u00ebsit t\u00eb sesionit p\u00ebrkat\u00ebs.<\/p>\n<p><\/p>\n<h1 id=\"opredelenie-istochnika-zaprosa\">P\u00ebrcaktimi i burimit t\u00eb k\u00ebrkes\u00ebs<\/h1>\n<p><\/p>\n<p>P\u00ebr t\u00eb p\u00ebrcaktuar nga vjen k\u00ebrkesa, mund t\u00eb p\u00ebrdorni funksionalitetin e shtimit automatik t\u00eb headerit me burimin. Me ndihm\u00ebn e variablit t\u00eb ambientit <code>NETRA_HTTP_X_SOURCE_HEADER_NAME<\/code> mund t\u00eb p\u00ebrcaktoni emrin e headerit q\u00eb do t\u00eb vendoset automatikisht. Me <code>NETRA_HTTP_X_SOURCE_VALUE<\/code> mund t\u00eb p\u00ebrcaktoni vler\u00ebn n\u00eb t\u00eb cil\u00ebn do t\u00eb vendoset headeri X-Source p\u00ebr t\u00eb gjitha k\u00ebrkesat q\u00eb dalin. <\/p>\n<p><\/p>\n<p>Kjo lejon shp\u00ebrndarjen e k\u00ebtij headeri t\u00eb dobish\u00ebm n\u00eb m\u00ebnyr\u00eb uniforme n\u00eb t\u00eb gjith\u00eb rrjetin. M\u00eb pas, mund ta p\u00ebrdorni at\u00eb n\u00eb sh\u00ebrbime dhe ta ndani n\u00eb loge, metrika.<\/p>\n<p><\/p>\n<h1 id=\"routing-trafika-i-vnutrennosti-netramesh\">Rruga e trafik dhe brend\u00ebsia e Netramesh<\/h1>\n<p><\/p>\n<p>Netramesh p\u00ebrb\u00ebhet nga dy komponent\u00eb kryesor\u00eb. I pari, netra-init, vendos rregullat e rrjetit p\u00ebr t\u00eb kapur trafikun. Ai p\u00ebrdor <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Lookyan\/netramesh\/blob\/master\/iptables-rules.sh\">rregullat e iBLOBs p\u00ebr t\u00eb kapur t\u00eb gjith\u00eb, ose nj\u00eb pjes\u00eb t\u00eb trafik\u00ebt n\u00eb sidecar, i cili \u00ebsht\u00eb komponenti i dyt\u00eb kryesor i Netramesh. Mund t\u00eb konfiguroni cilat porte duhet t\u00eb kapen p\u00ebr sesionet e TCP q\u00eb vijn\u00eb dhe dalin:<\/a><\/noindex> INBOUND_INTERCEPT_PORTS, OUTBOUND_INTERCEPT_PORTS <code>Po ashtu, n\u00eb mjet ekziston nj\u00eb mund\u00ebsi interesante \u2014 rrug\u00ebzim probabilistik. N\u00ebse p\u00ebrdorni Netramesh ekskluzivisht p\u00ebr t\u00eb mbledhur tracing span, mund t\u00eb kurseni burime n\u00eb mjedisin e prodhimit dhe t\u00eb aktivizoni rrug\u00ebzimin probabilistik me ndihm\u00ebn e variablave<\/code>.<\/p>\n<p><\/p>\n<p>NETRA_INBOUND_PROBABILITY <code>NETRA_OUTBOUND_PROBABILITY<\/code> dhe <code>(nga 0 n\u00eb 1). Vlera e paracaktuar \u00ebsht\u00eb 1 (kapet t\u00eb gjith\u00eb trafiku).<\/code> Pas kapjes s\u00eb suksesshme, netra sidecar merr nj\u00eb lidhje t\u00eb re dhe p\u00ebrdor<\/p>\n<p><\/p>\n<p>SO_ORIGINAL_DST <code>opsionin e soketave p\u00ebr t\u00eb marr\u00eb pik\u00ebn origjinale t\u00eb destinacionit. M\u00eb pas, Netra hap nj\u00eb lidhje t\u00eb re me adres\u00ebn IP origjinale dhe vendos nj\u00eb komunikim TCP t\u00eb dyansh\u00ebm midis pal\u00ebve, duke d\u00ebgjuar t\u00eb gjith\u00eb trafikun q\u00eb kalon. N\u00ebse porti \u00ebsht\u00eb p\u00ebrcaktuar si HTTP, Netra p\u00ebrpiqet ta analizoj\u00eb dhe ta gjurmoj\u00eb. N\u00ebse analiza e HTTP d\u00ebshtlon, Netra kalon n\u00eb TCP dhe transparen t\u00eb prokson byte t\u00eb dh\u00ebna.<\/code> Ashtu si dhe n\u00eb rregullat e sip\u00ebrm, p\u00ebr t\u00eb krijuar lidhje t\u00eb reja me sistemin origjinal.<\/p>\n<p><\/p>\n<h1 id=\"postroenie-grafa-zavisimostey\">Nd\u00ebrtimi i grafit t\u00eb var\u00ebsive<\/h1>\n<p><\/p>\n<p>Pas marrjes s\u00eb nj\u00eb sasie t\u00eb madhe informacioni tracing n\u00eb Jaeger, d\u00ebshirohet t\u00eb marr\u00ebni nj\u00eb grafik t\u00eb plot\u00eb t\u00eb nd\u00ebrveprimeve n\u00eb sistem. Por n\u00ebse sistemi juaj \u00ebsht\u00eb mjaft e ngarkuar dhe n\u00eb nj\u00eb dit\u00eb grumbullohen miliarda span\u2019ash tracing, agregimi i tyre b\u00ebhet nj\u00eb detyr\u00eb e komplikuar. Ka nj\u00eb metod\u00eb zyrtare p\u00ebr k\u00ebt\u00eb: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jaegertracing\/spark-dependencies\">spark-dependencies<\/a><\/noindex>. Megjithat\u00eb do t\u00eb marr\u00eb disa or\u00eb p\u00ebr t\u00eb nd\u00ebrtuar grafikun e plot\u00eb dhe do t'ju detyroj\u00eb t\u00eb shkarkoni t\u00eb gjith\u00eb dataset-in nga Jaeger p\u00ebr 24 or\u00ebt e fundit. <\/p>\n<p><\/p>\n<p>N\u00ebse p\u00ebrdorni Elasticsearch p\u00ebr ruajtjen e span\u2019ave tracing, mund t\u00eb shfryt\u00ebzoni <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Lookyan\/jaeger-dependencies\">nj\u00eb utilitar t\u00eb thjesht\u00eb n\u00eb Golang<\/a><\/noindex>, i cili do t\u00eb nd\u00ebrtoj\u00eb nj\u00eb grafik t\u00eb till\u00eb brenda disa minutash, duke p\u00ebrdorur ve\u00e7orit\u00eb dhe mund\u00ebsit\u00eb e Elasticsearch.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 nj\u00eb zgjidhje e leht\u00eb p\u00ebr service mesh\" src=\"\/wp-content\/uploads\/2019\/04\/26eb13e066ed8482010fde103d3832fd.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h1 id=\"kak-ispolzovat-netramesh\">Si t\u00eb p\u00ebrdorni Netramesh<\/h1>\n<p><\/p>\n<p>Netr\u00ebn mund ta shtoni leht\u00ebsisht n\u00eb \u00e7do sh\u00ebrbim q\u00eb funksionon n\u00ebn menaxhimin e \u00e7do orkestratori. Mund t\u00eb shihni nj\u00eb shembull <noindex><a rel=\"nofollow\" href=\"http:\/\/bit.ly\/2HVRv7D\">k\u00ebtu<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>N\u00eb k\u00ebt\u00eb moment, Netra s\u2019ka mund\u00ebsi p\u00ebr integrim automatik t\u00eb sidecar\u2019it me sh\u00ebrbimet, por ka plane p\u00ebr zbatimin e tij. <\/p>\n<p><\/p>\n<h1 id=\"buduschee-netramesh\">E ardhmja e Netramesh<\/h1>\n<p><\/p>\n<p>Q\u00ebllimi kryesor <noindex><a rel=\"nofollow\" href=\"http:\/\/bit.ly\/netra_ru\">Netramesh<\/a><\/noindex> \u00ebsht\u00eb arritja e kostove minimale t\u00eb burimeve dhe performanc\u00eb e lart\u00eb, duke ofruar mund\u00ebsi kryesore p\u00ebr observability dhe kontrollin e nd\u00ebrveprimit midis sh\u00ebrbimeve. <\/p>\n<p><\/p>\n<p>N\u00eb t\u00eb ardhmen, Netramesh do t\u00eb ket\u00eb mb\u00ebshtetje p\u00ebr protokolle t\u00eb tjera t\u00eb nivelit aplikativ p\u00ebrve\u00e7 HTTP. N\u00eb t\u00eb ardhmen e af\u00ebrt do t\u00eb ket\u00eb mund\u00ebsi t\u00eb routing L7.<\/p>\n<p><\/p>\n<p>P\u00ebrdorni Netramesh n\u00ebse p\u00ebrballeni me probleme t\u00eb tilla dhe shkruani pyetje dhe sugjerime.<\/p>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/avito\/blog\/449974\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043e\u0442 \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043a \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u043c\u044b \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u043c\u0441\u044f \u0441 \u043d\u043e\u0432\u044b\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438. \u0412 \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u0432 \u043a\u0430\u043a\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430. \u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432 \u043a\u043e\u0434\u0435 \u0441\u0430\u043c\u043e\u0433\u043e \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u0430, \u043b\u0438\u0431\u043e \u0432 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445. \u041d\u043e \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0438\u0441\u043a\u0430\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0432 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435, \u0432\u0441\u0451 \u0443\u0436\u0435 \u043d\u0435 \u0442\u0430\u043a \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e. \u041d\u0443\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432\u0435\u0441\u044c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":24554,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-32777","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.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043e\u0442 \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043a \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u043c\u044b \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u043c\u0441\u044f \u0441 \u043d\u043e\u0432\u044b\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438. \u0412 \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u0432 \u043a\u0430\u043a\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430.\" \/>\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\/netramesh-legkovesnoe-service-mesh-reshenie\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\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\udd47Netramesh \u2013 \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u043e\u0435 service mesh \u0440\u0435\u0448\u0435\u043d\u0438\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043e\u0442 \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043a \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u043c\u044b \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u043c\u0441\u044f \u0441 \u043d\u043e\u0432\u044b\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438. \u0412 \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u0432 \u043a\u0430\u043a\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/netramesh-legkovesnoe-service-mesh-reshenie\" \/>\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:48:52+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:48:52+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\udd47Netramesh \u2013 zgjidhje e leht\u00eb p\u00ebr service mesh | ProHoster","description":"N\u00eb procesin e kalimit nga nj\u00eb aplikacion monolit n\u00eb nj\u00eb arkitektur\u00eb mikrosh\u00ebrbimesh, p\u00ebrball\u00ebm me probleme t\u00eb reja. N\u00eb nj\u00eb aplikacion monolit, zakonisht mjafton t\u00eb p\u00ebrcaktohet se n\u00eb cil\u00ebn pjes\u00eb t\u00eb sistemit ka ndodhur.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/netramesh-legkovesnoe-service-mesh-reshenie","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\udd47Netramesh \u2013 \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u043e\u0435 service mesh \u0440\u0435\u0448\u0435\u043d\u0438\u0435 | ProHoster","og:description":"\u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043e\u0442 \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043a \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u043c\u044b \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u043c\u0441\u044f \u0441 \u043d\u043e\u0432\u044b\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438. \u0412 \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u0432 \u043a\u0430\u043a\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/netramesh-legkovesnoe-service-mesh-reshenie","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:48:52+00:00","article:modified_time":"2019-10-31T18:48:52+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"32777","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-01-21 12:29:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 10:20:44","updated":"2026-01-21 12:29:19","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\/32777","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=32777"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/32777\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/24554"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=32777"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=32777"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=32777"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}