{"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 service mesh","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Gjat\u00eb kalimit nga nj\u00eb aplikacion monolit n\u00eb nj\u00eb arkitektur\u00eb mikrosh\u00ebrbimesh, ne p\u00ebrballemi me probleme t\u00eb reja.<\/p>\n<p><\/p>\n<p>N\u00eb nj\u00eb aplikacion monolit, zakonisht mjafton t\u00eb p\u00ebrcaktohet se n\u00eb cil\u00ebn pjes\u00eb t\u00eb sistemit ndodhi gabimi. Me shum\u00eb gjas\u00eb, problemi \u00ebsht\u00eb n\u00eb kodin e vet\u00eb monolit ose n\u00eb baz\u00ebn e t\u00eb dh\u00ebnave. Por kur fillojm\u00eb t\u00eb k\u00ebrkojm\u00eb problemin n\u00eb arkitektur\u00ebn e mikrosh\u00ebrbimeve, gjith\u00e7ka nuk \u00ebsht\u00eb kaq e qart\u00eb. Duhet t\u00eb gjejm\u00eb t\u00eb gjith\u00eb rrug\u00ebn q\u00eb ka kaluar k\u00ebrkesa nga fillimi n\u00eb fund, duke e ndar\u00eb at\u00eb nga qindra mikrosh\u00ebrbime. P\u00ebr m\u00eb tep\u00ebr, shumica prej tyre kan\u00eb edhe depozita t\u00eb tyre, ku mund t\u00eb ndodhin gabime logjike ose probleme me performanc\u00ebn dhe q\u00ebndrueshm\u00ebrin\u00eb.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 nj\u00eb zgjidhje e leht\u00eb 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 n\u00eb zgjidhjen e k\u00ebtyre problemeve (kam shkruar p\u00ebr k\u00ebt\u00eb n\u00eb Habr: <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 p\u00ebrfundimisht krijova nj\u00eb zgjidhje t\u00eb vetme me kod t\u00eb hapur. N\u00eb k\u00ebt\u00eb artikull, flas p\u00ebr p\u00ebrfitimet e qasjes me mesh sh\u00ebrbimesh dhe ndaj 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>Tranzita e 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 nuk \u00ebsht\u00eb implementuar ky qasje p\u00ebr mbledhjen e informacionit mbi nd\u00ebrveprimet rrjetore, ose, m\u00eb keq akoma, n\u00eb nj\u00eb pjes\u00eb t\u00eb sistemit ajo funksionon mir\u00eb, kurse n\u00eb nj\u00eb pjes\u00eb tjet\u00ebr jo, 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 po ndodh n\u00eb sistem. Sidomos \u00ebsht\u00eb e r\u00ebnd\u00ebsishme t\u00eb kuptojm\u00eb se cilat mikrosh\u00ebrbime jan\u00eb t\u00eb angazhuara n\u00eb rrug\u00ebt kryesore duke qen\u00eb kritik p\u00ebr biznesin.<\/p>\n<p><\/p>\n<p>K\u00ebtu mund t\u00eb na ndihmoj\u00eb qasja e mesh-sh\u00ebrbimeve, e cila do t\u00eb merret me t\u00eb gjith\u00eb makinerin\u00eb p\u00ebr mbledhjen e informacionit rrjetor n\u00eb nj\u00eb nivel m\u00eb t\u00eb ul\u00ebt sesa ata sh\u00ebrbime vet\u00eb. Kjo qasje na lejon t\u00eb kapim t\u00eb gjith\u00eb trafikun dhe ta analizojm\u00eb at\u00eb n\u00eb koh\u00eb reale. P\u00ebr m\u00eb tep\u00ebr, aplikacionet nuk duhet t\u00eb din\u00eb asgj\u00eb rreth saj.<\/p>\n<p><\/p>\n<h1 id=\"service-mesh-podhod\">Qasja e mesh-sh\u00ebrbimeve<\/h1>\n<p><\/p>\n<p>Ideja kryesore e qasjes s\u00eb mesh-sh\u00ebrbimeve \u00ebsht\u00eb shtimi i nj\u00eb shtrese t\u00eb re infrastrukturore mbi rrjetin, e cila na lejon t\u00eb b\u00ebjm\u00eb \u00e7do lloj gj\u00ebje me nd\u00ebrveprimin nd\u00ebrmjet sh\u00ebrbimeve. Shumica e implementimeve funksionojn\u00eb si m\u00eb posht\u00eb: p\u00ebr secilin mikrosh\u00ebrbim shtohet nj\u00eb kontejner sidecar shtes\u00eb me nj\u00eb proxy transparent, p\u00ebrmes t\u00eb cilit kalon t\u00eb gjith\u00eb trafikun hyr\u00ebs dhe dal\u00ebs t\u00eb sh\u00ebrbimit. Dhe kjo \u00ebsht\u00eb pik\u00ebrisht ajo vend ku mund t\u00eb b\u00ebjm\u00eb balancimin e klientit, t\u00eb aplikojm\u00eb politika sigurie, t\u00eb vendosim kufij n\u00eb numrin e k\u00ebrkesave dhe t\u00eb mbledhim informacion t\u00eb r\u00ebnd\u00ebsish\u00ebm p\u00ebr nd\u00ebrveprimin e sh\u00ebrbimeve n\u00eb prodhim.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 nj\u00eb zgjidhje e leht\u00eb 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>Q\u00eb tani ka disa implementime t\u00eb k\u00ebsaj 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 paketa. Por, nj\u00ebkoh\u00ebsisht, kjo sjell edhe nj\u00eb overhead t\u00eb madh n\u00eb burime. Sa m\u00eb i madh t\u00eb jet\u00eb klasteri n\u00eb t\u00eb cilin funksionon nj\u00eb sistem i till\u00eb, aq m\u00eb shum\u00eb burime do t\u00eb nevojiten p\u00ebr mb\u00ebshtetje t\u00eb infrastruktur\u00ebs s\u00eb re. N\u00eb Avito, ne operojm\u00eb me klaster\u00ebt kubernetes, n\u00eb t\u00eb cilat ndodhen mij\u00ebra kopje sh\u00ebrbimesh (dhe numri vazhdon t\u00eb rritet shpejt). N\u00eb implementimin aktual, Istio konsumon ~300Mb RAM p\u00ebr \u00e7do kopje 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>N\u00eb fund, ne shqyrtuam se cilat mund\u00ebsi na nevojiteshin pik\u00ebrisht tani dhe vendos\u00ebm se arsyeja kryesore p\u00ebr t\u00eb cil\u00ebn filluam t\u00eb implementonim zgjidhje t\u00eb tilla ishte mund\u00ebsia p\u00ebr t\u00eb mbledhur informacionin e tracing nga e gjith\u00eb sistemi n\u00eb m\u00ebnyr\u00eb transparente. Gjithashtu, ne donim t\u00eb kishim kontroll mbi nd\u00ebrveprimin e sh\u00ebrbimeve dhe t\u00eb b\u00ebnim manipulime t\u00eb ndryshme me headert q\u00eb kalonin midis sh\u00ebrbimeve. <\/p>\n<p><\/p>\n<p>N\u00eb fund, arrit\u00ebm n\u00eb zgjidhjen ton\u00eb:\u200a <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 mesh sh\u00ebrbimesh me mund\u00ebsi p\u00ebr shkall\u00ebzimin e pakufizuar pa marr\u00eb parasysh numrin e 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 donim q\u00eb menj\u00ebher\u00eb t\u00eb kishim mund\u00ebsin\u00eb p\u00ebr t\u00eb d\u00ebrguar n\u00eb m\u00ebnyr\u00eb transparente spanjat e tracing n\u00eb sistemin ton\u00eb Jaeger.<\/p>\n<p><\/p>\n<p>Sot, shumica e zgjidhjeve n\u00eb cloud implementohen n\u00eb Golang. Dhe, sigurisht, ka arsye t\u00eb veta p\u00ebr k\u00ebt\u00eb. \u00cbsht\u00eb e leht\u00eb dhe mjaft e thjesht\u00eb t\u00eb shkruash aplikacione rrjetore n\u00eb Golang, t\u00eb cilat funksionojn\u00eb asinhron n\u00eb I\/O dhe q\u00eb shkall\u00ebzohen sipas nevoj\u00ebs p\u00ebr b\u00ebrtham\u00ebn. Dhe, \u00e7ka \u00ebsht\u00eb gjithashtu shum\u00eb e r\u00ebnd\u00ebsishme, performanca \u00ebsht\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 p\u00ebrqendruam p\u00ebrpjekjet tona n\u00eb arritjen e performanc\u00ebs maksimale. P\u00ebr nj\u00eb zgjidhje q\u00eb vendoset pran\u00eb \u00e7do kopje sh\u00ebrbimi, k\u00ebrkohen konsum t\u00eb ul\u00ebt t\u00eb RAM-it dhe koha e procesor\u00ebve. Dhe, sigurisht, vonesa n\u00eb p\u00ebrgjigje gjithashtu duhet t\u00eb jet\u00eb e ul\u00ebt.<\/p>\n<p><\/p>\n<p>Le t\u00eb shohim se cilat rezultate kemi arritur. <\/p>\n<p><\/p>\n<h2 id=\"ram\">RAM<\/h2>\n<p><\/p>\n<p>Netramesh konsumon rreth 10Mb pa trafik dhe deri n\u00eb 50Mb maksimalisht me ngarkes\u00eb deri n\u00eb 10000 RPS p\u00ebr nj\u00eb instanc\u00eb.<\/p>\n<p><\/p>\n<p>Istio envoy proxy gjithmon\u00eb konsumon rreth 300Mb n\u00eb klasteret tona me mij\u00ebra instanca. Kjo nuk lejon q\u00eb ai t\u00eb shkall\u00ebzohet n\u00eb t\u00ebr\u00eb klasterin.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 nj\u00eb zgjidhje e leht\u00eb 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 service mesh\" src=\"\/wp-content\/uploads\/2019\/04\/d862122a15eb92402e35cb68c448f7c7.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Me Netramesh arrit\u00ebm nj\u00eb reduktim t\u00eb konsumit t\u00eb memories prej rreth 10 her\u00ebsh.<\/p>\n<p><\/p>\n<h2 id=\"cpu\">CPU<\/h2>\n<p><\/p>\n<p>P\u00ebrdorimi i CPU \u00ebsht\u00eb relativisht i barabart\u00eb n\u00ebn ngarkes\u00eb. Ky varion n\u00eb var\u00ebsi t\u00eb numrit t\u00eb k\u00ebrkesave p\u00ebr nj\u00ebsi kohe p\u00ebr sidecar. Vlerat n\u00eb 3000 k\u00ebrkesa n\u00eb sekond\u00eb n\u00eb kulm:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 nj\u00eb zgjidhje e leht\u00eb 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 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 \u00e7\u00ebshtje tjet\u00ebr t\u00eb r\u00ebnd\u00ebsishme: Netramesh \u00ebsht\u00eb nj\u00eb zgjidhje pa control plane dhe pa ngarkes\u00eb nuk konsumon koh\u00ebn e procesorit. Me Istio, sidecar-at 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 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 me Istio gjat\u00eb proxy-timit p\u00ebrmes envoy ishte deri n\u00eb 5-10ms, e cila \u00ebsht\u00eb mjaft e madhe p\u00ebr sh\u00ebrbimet q\u00eb jan\u00eb n\u00eb gjendje t\u00eb p\u00ebrgjigjen brenda nj\u00eb milisekonde. Me Netramesh, ky koh\u00eb u reduktua n\u00eb 0.5-2ms.<\/p>\n<p><\/p>\n<h1 id=\"masshtabiruemost\">Shkall\u00ebzueshm\u00ebria<\/h1>\n<p><\/p>\n<p>Nj\u00eb sasi e vog\u00ebl burimesh e harxhuar nga \u00e7do proxy lejon q\u00eb ai t\u00eb vendoset af\u00ebr \u00e7do sh\u00ebrbimi. Netramesh \u00ebsht\u00eb krijuar q\u00ebllimisht pa nj\u00eb komponent control plane p\u00ebr mir\u00ebmbajtjen e leht\u00eb t\u00eb \u00e7do sidecar-i. Shpesh n\u00eb zgjidhjet e service mesh, control plane shp\u00ebrndan informacionin rreth zbulimit t\u00eb sh\u00ebrbimeve n\u00eb \u00e7do sidecar. Bashk\u00eb me t\u00eb vjen informacioni p\u00ebr timeout-et, konfigurimet e 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-at 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 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 t\u00eb tjera p\u00ebr zbulimin e sh\u00ebrbimeve. E gjith\u00eb trafiku proxy-titet qart\u00eb p\u00ebrmes netra sidecar. <\/p>\n<p><\/p>\n<p>Netramesh mb\u00ebshtet protokollin aplikativ HTTP\/1. P\u00ebr ta p\u00ebrcaktuar p\u00ebrdoret nj\u00eb list\u00eb e konfigurueshme portash. Zakonisht n\u00eb sistem ka disa porta, p\u00ebrmes t\u00eb cilave ndodh nd\u00ebrveprimi p\u00ebrmes HTTP. P\u00ebr shembull, ne p\u00ebrdorim portat 80, 8890, 8080 p\u00ebr nd\u00ebrveprimin e sh\u00ebrbimeve dhe k\u00ebrkesave t\u00eb jashtme. N\u00eb k\u00ebt\u00eb rast, ato mund t\u00eb vendosen p\u00ebrmes variablit t\u00eb mjedisit <code>NETRA_HTTP_PORTS<\/code>.<\/p>\n<p><\/p>\n<p>N\u00ebse p\u00ebrdorni Kubernetes si orkestrues dhe mekanizmin e entiteteve t\u00eb Sh\u00ebrbimeve p\u00ebr nd\u00ebrveprimin brenda klasterit midis sh\u00ebrbimeve, at\u00ebher\u00eb mekanizmi mbetet i nj\u00ebjt\u00eb. Fillimisht, mikrosherbimi 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 gjitha paketat TCP fillimisht ve\u00e7an\u00ebrisht arrijn\u00eb n\u00eb netra. M\u00eb pas, netra-sidecar krijon lidhje me pik\u00ebn e origjin\u00ebs. NAT n\u00eb pod IP n\u00eb nod mbetet i nj\u00ebjt\u00eb si pa netra.<\/p>\n<p><\/p>\n<h1 id=\"raspredelennyy-tracing-i-prokidyvanie-konteksta\">Tracing i 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-eve t\u00eb tracing p\u00ebr nd\u00ebrveprimin HTTP. Netra-sidecar analizojn\u00eb protokollin HTTP, masin vonesat e k\u00ebrkesave, dhe nxjerrin informacionin e nevojsh\u00ebm nga header-at e HTTP. N\u00eb fund, ne marrim t\u00eb gjitha trace-t n\u00eb nj\u00eb sistem t\u00eb vet\u00ebm Jaeger. P\u00ebr konfigurimin e holl\u00ebsish\u00ebm, mund t\u00eb p\u00ebrdorni 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 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 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 t\u00eb kalojn\u00eb nj\u00eb header t\u00eb ve\u00e7ant\u00eb uber, ne nuk do t\u00eb shohim span-et e lidhura t\u00eb tracing n\u00eb sistem. Dhe kjo \u00ebsht\u00eb ajo q\u00eb na nevojitet p\u00ebr t\u00eb gjetur shpejt shkakun e problemeve. K\u00ebtu Netramesh ka s\u00ebrish nj\u00eb zgjidhje. Proxy-t lexojn\u00eb header-at HTTP dhe, n\u00ebse nuk ka uber trace id, e gjenerojn\u00eb at\u00eb. Netramesh gjithashtu ruan informacionin p\u00ebr k\u00ebrkesat hyr\u00ebse dhe dal\u00ebse n\u00eb sidecar dhe i nd\u00ebrlidh ato duke i pasuruar me header-at e nevojsh\u00ebm t\u00eb k\u00ebrkesave dal\u00ebse. E vetmja gj\u00eb q\u00eb duhet t\u00eb b\u00ebjn\u00eb sh\u00ebrbimet \u00ebsht\u00eb t\u00eb kalojn\u00eb vet\u00ebm nj\u00eb header <code>X-Request-Id<\/code>, i cili mund t\u00eb konfigurohet p\u00ebrmes 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 caktoni variablat e mjedisit t\u00eb m\u00ebposht\u00ebm: <code>NETRA_TRACING_CONTEXT_EXPIRATION_MILLISECONDS<\/code> (koha gjat\u00eb s\u00eb cil\u00ebs do t\u00eb ruhet konteksti) dhe <code>NETRA_TRACING_CONTEXT_CLEANUP_INTERVAL<\/code> (periodiciteti i pastrimit t\u00eb kontekstit).<\/p>\n<p><\/p>\n<p>Gjithashtu \u00ebsht\u00eb e mundur t\u00eb kombinohen disa rrug\u00eb n\u00eb sistemin tuaj duke i etiketuar ato me nj\u00eb marker t\u00eb ve\u00e7ant\u00eb sesional. Netra lejon t\u00eb vendoset <code>HTTP_HEADER_TAG_MAP<\/code> p\u00ebr ta kthyer header-at HTTP n\u00eb etiketat p\u00ebrkat\u00ebse t\u00eb tracing span. Kjo mund t\u00eb jet\u00eb ve\u00e7an\u00ebrisht e dobishme p\u00ebr testimin. Pas kalimit t\u00eb nj\u00eb testi funksional, mund t\u00eb shihni se cila pjes\u00eb e sistemit \u00ebsht\u00eb prekur, duke filtruar sipas \u00e7el\u00ebsit p\u00ebrkat\u00ebs t\u00eb sesionit.<\/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 se nga ka ardhur k\u00ebrkesa, mund t\u00eb p\u00ebrdorni funksionalitetin e shtimit automatik t\u00eb nj\u00eb header burimi. Me ndihm\u00ebn e variablit t\u00eb mjedisit <code>NETRA_HTTP_X_SOURCE_HEADER_NAME<\/code> mund t\u00eb caktohet emri i header-it q\u00eb do t\u00eb vendoset automatikisht. Me ndihm\u00ebn e <code>NETRA_HTTP_X_SOURCE_VALUE<\/code> mund t\u00eb p\u00ebrcaktoni vler\u00ebn q\u00eb do t'i caktohet kok\u00ebs X-Source p\u00ebr t\u00eb gjitha k\u00ebrkesat q\u00eb dalin. <\/p>\n<p><\/p>\n<p>Kjo lejon q\u00eb ky titull i dobish\u00ebm t\u00eb shp\u00ebrndahet n\u00eb nj\u00eb m\u00ebnyr\u00eb t\u00eb unifikuar n\u00eb t\u00eb gjith\u00eb rrjetin. M\u00eb pas, mund ta p\u00ebrdorni at\u00eb n\u00eb sh\u00ebrbime dhe ta shtoni n\u00eb regjistrat dhe metrikat.<\/p>\n<p><\/p>\n<h1 id=\"routing-trafika-i-vnutrennosti-netramesh\">Rrjetizimi i trafikut dhe brend\u00ebsit\u00eb e Netramesh<\/h1>\n<p><\/p>\n<p>Netramesh p\u00ebrb\u00ebhet nga dy komponente kryesore. E para, netra-init, vendos rregullat e rrjetit p\u00ebr kapjen e trafikut. Ai p\u00ebrdor <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Lookyan\/netramesh\/blob\/master\/iptables-rules.sh\">rregullat e redirect t\u00eb iptables<\/a><\/noindex> p\u00ebr t\u00eb kapur t\u00eb gjith\u00eb ose nj\u00eb pjes\u00eb t\u00eb trafikut n\u00eb sidecar, i cili \u00ebsht\u00eb komponenti i dyt\u00eb kryesor i Netramesh. Mund t\u00eb p\u00ebrcaktoni se cilat porte duhet kapur p\u00ebr sesionet TCP q\u00eb hyjn\u00eb dhe dalin: <code>INBOUND_INTERCEPT_PORTS, OUTBOUND_INTERCEPT_PORTS<\/code>.<\/p>\n<p><\/p>\n<p>Gjithashtu, n\u00eb k\u00ebt\u00eb mjet ka nj\u00eb mund\u00ebsi interesante \u2014 rrug\u00ebzim probabilistik. N\u00ebse p\u00ebrdorni Netramesh ekskluzivisht p\u00ebr t\u00eb mbledhur tracing span, at\u00ebher\u00eb n\u00eb ambientin e prodhimit mund t\u00eb kurseni burime dhe t\u00eb aktivizoni rrug\u00ebzimin probabilistik me ndihm\u00ebn e variablave <code>NETRA_INBOUND_PROBABILITY<\/code> dhe <code>NETRA_OUTBOUND_PROBABILITY<\/code> (nga 0 deri n\u00eb 1). Vlera sipas parazgjedhjes \u00ebsht\u00eb 1 (kapet i gjith\u00eb trafiku).<\/p>\n<p><\/p>\n<p>Pas kapjes me sukses, netra sidecar merr nj\u00eb lidhje t\u00eb re dhe p\u00ebrdor <code>SO_ORIGINAL_DST<\/code> opsionin e socket-it p\u00ebr t\u00eb marr\u00eb pik\u00ebn origjinale t\u00eb destinacionit. Pastaj Netra hap nj\u00eb lidhje t\u00eb re me adres\u00ebn origjinale IP 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 i p\u00ebrcaktuar si HTTP, Netra p\u00ebrpiqet ta analizoj\u00eb dhe ta ndjek\u00eb. N\u00ebse analysimi i HTTP d\u00ebshton, Netra b\u00ebn nj\u00eb fall-back n\u00eb TCP dhe transparentisht proxy-t\u00eb bajtat.<\/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 sasi t\u00eb madhe informacioni tracing n\u00eb Jaeger, d\u00ebshirojm\u00eb t\u00eb marrim grafikun e plot\u00eb t\u00eb interaksioneve n\u00eb sistem. Por n\u00ebse sistemi juaj \u00ebsht\u00eb mjaft i ngarkuar dhe n\u00eb nj\u00eb dit\u00eb grumbullohen miliarda tracing span, agregimi i tyre b\u00ebhet nj\u00eb detyr\u00eb e komplikuar. Ka nj\u00eb m\u00ebnyr\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 or\u00eb p\u00ebr nd\u00ebrtimin e grafikut t\u00eb plot\u00eb dhe do t'i k\u00ebrkoj\u00eb t\u00eb shkarkoj\u00eb nga Jaeger t\u00eb gjith\u00eb dataset-in p\u00ebr 24 or\u00ebt e kaluara. <\/p>\n<p><\/p>\n<p>N\u00ebse p\u00ebrdorni Elasticsearch p\u00ebr ruajtjen e tracing span, 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\u00ebrtosh nj\u00eb grafik t\u00eb till\u00eb p\u00ebr minuta, duke p\u00ebrdorur karakteristikat dhe mund\u00ebsit\u00eb e Elasticsearch.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 nj\u00eb zgjidhje e leht\u00eb 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>Netra mund t\u00eb shtohet leht\u00ebsisht n\u00eb \u00e7do sh\u00ebrbim q\u00eb operon 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>Aktualisht, Netra nuk ka mund\u00ebsin\u00eb e integrimit automatik t\u00eb sidecar n\u00eb sh\u00ebrbime, por ka plane p\u00ebr zbatimin e saj. <\/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\u00ebs s\u00eb lart\u00eb, duke ofruar mund\u00ebsi kryesore p\u00ebr observability dhe kontrollin e nd\u00ebrveprimeve midis sh\u00ebrbimeve. <\/p>\n<p><\/p>\n<p>N\u00eb t\u00eb ardhmen, Netramesh do t\u00eb mb\u00ebshtes\u00eb protokolle t\u00eb tjera t\u00eb nivelit t\u00eb aplikacionit p\u00ebrve\u00e7 HTTP. S\u00eb shpejti do t\u00eb vij\u00eb mund\u00ebsia e rrug\u00ebzimit L7.<\/p>\n<p><\/p>\n<p>P\u00ebrdorni Netramesh n\u00ebse p\u00ebrballeni me k\u00ebto probleme dhe na 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.0.1 - 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 \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\" \/>\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.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\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 \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\" \/>\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 nj\u00eb zgjidhje e leht\u00eb service mesh | ProHoster","description":"Gjat\u00eb kalimit nga nj\u00eb aplikacion monolit n\u00eb nj\u00eb arkitektur\u00eb mikrosherbimesh, hasim probleme t\u00eb reja. N\u00eb nj\u00eb aplikacion monolit zakonisht \u00ebsht\u00eb mjaft t\u00eb p\u00ebrcaktohet se n\u00eb cil\u00ebn pjes\u00eb t\u00eb sistemit ka ndodhur nj\u00eb gabim. M\u00eb shum\u00eb se gjasa, problemi \u00ebsht\u00eb n\u00eb kodin e vet\u00eb monolit, ose n\u00eb baz\u00ebn e t\u00eb dh\u00ebnave. Por kur fillojm\u00eb t\u00eb k\u00ebrkojm\u00eb problemin n\u00eb arkitektur\u00ebn mikrosherbimesh, gj\u00ebrat nuk jan\u00eb kaq t\u00eb qarta. Ne duhet t\u00eb gjejm\u00eb t\u00eb gjith\u00eb","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 \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","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}]}}