{"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\/et\/blog\/administrirovanie\/netramesh-legkovesnoe-service-mesh-reshenie","title":{"rendered":"Netramesh \u2013 kergekaaluline teenuste mesh lahendus","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Monoliitrakenduselt mikroteenuste arhitektuurile \u00fcleminekul seisame silmitsi uute probleemidega.<\/p>\n<p><\/p>\n<p>Monoliitrakenduses on tavaliselt piisav, et lihtsalt m\u00e4\u00e4rata, kus s\u00fcsteemis probleem tekkis. T\u00f5en\u00e4oliselt on probleem ise monoliidi koodis v\u00f5i andmebaasis. Kuid kui hakkame probleemi otsima mikroteenuste arhitektuuris, ei ole enam nii selge. Peame leidma kogu tee, mida p\u00e4ring l\u00e4bis algusest l\u00f5puni, eristades seda sadadest mikroteenustest. Paljudel neist on ka oma andmehoidlad, kus v\u00f5ivad esineda nii loogilised vead kui ka j\u00f5udlus- ja talitlush\u00e4ired.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 kergekaaluline teenuste mesh lahendus\" src=\"\/wp-content\/uploads\/2019\/04\/f583f3d8d4a2239411628aa8f4d06041.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Otsisin pikka aega t\u00f6\u00f6riista, mis aitaks selliste probleemidega tegeleda (kirjutasin sellest Habrisse: <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>), kuid l\u00f5ppkokkuv\u00f5ttes tegin oma avatud l\u00e4htekoodiga lahenduse. Artiklis r\u00e4\u00e4gin teenuste mesh'i l\u00e4henemisviisi eelistest ja jagan uut t\u00f6\u00f6riista selle rakendamiseks. <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Jaotatud j\u00e4lgimine on levinud lahendus probleemide leidmiseks jaotatud s\u00fcsteemides. Kuid mis siis, kui s\u00fcsteemis ei ole sellist l\u00e4henemist veel sisse viidud v\u00f5i, mis on veel halvem, toimib see s\u00fcsteemi osas korralikult, kuid teises osas ei ole see olemas, kuna see ei ole vanadesse teenustesse lisatud? Probleemi t\u00e4pse juurp\u00f5hjuse m\u00e4\u00e4ramiseks on oluline omada t\u00e4ielikku \u00fclevaadet sellest, mis s\u00fcsteemis toimub. Eriti t\u00e4htis on m\u00f5ista, millised mikroteenused osalevad peamistes \u00e4ri jaoks kriitilistes teedes.<\/p>\n<p><\/p>\n<p>Siin saab meile appi tulla teenuste mesh'i l\u00e4henemine, mis tegeleb kogu v\u00f5rguinfo kogumise alustegevustega, mis toimib madalamal tasemel kui teenused ise. See l\u00e4henemine v\u00f5imaldab meil kogu liiklust pealt kuulata ja seda reaalajas anal\u00fc\u00fcsida. Ja veel, rakendused ei pea sellest isegi midagi teadma.<\/p>\n<p><\/p>\n<h1 id=\"service-mesh-podhod\">Teenuste mesh'i l\u00e4henemine<\/h1>\n<p><\/p>\n<p>Service mesh l\u00e4henemise peamine idee on lisada v\u00f5rgu kohal veel \u00fcks infrastruktuuri kiht, mis v\u00f5imaldab meil teha k\u00f5ikv\u00f5imalikke asju teenustevahelise suhtluse osas. Enamik teostusi t\u00f6\u00f6tab j\u00e4rgmiselt: iga mikroteenusele lisatakse t\u00e4iendav sidecar konteiner koos l\u00e4bipaistva proksiga, mille kaudu suunatakse kogu teenuse sisenev ja v\u00e4ljuv liiklus. Ja siin saame me teha kliendipoolset koormuse tasakaalustamist, rakendada turvapoliitikaid, seada piiranguid p\u00e4ringute arvule ning koguda olulist teavet teenustevahelise suhtluse kohta tootmises.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 kergekaaluline teenuste mesh lahendus\" src=\"\/wp-content\/uploads\/2019\/04\/b1f8636e3b99a3814138b6443b3e0799.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h1 id=\"resheniya\">Lahendused<\/h1>\n<p><\/p>\n<p>Juba on olemas mitu selle l\u00e4henemise teostust: <noindex><a rel=\"nofollow\" href=\"https:\/\/istio.io\/\">Istio<\/a><\/noindex> ja <noindex><a rel=\"nofollow\" href=\"https:\/\/linkerd.io\/2\/overview\/\">linkerd2<\/a><\/noindex>. Need pakuvad palju funktsioone kohe v\u00e4lja pakkudes. Kuid koos sellega tuleb ka suur ressursi \u00fclet\u00e4itus. Mida suurem on klaster, milles selline s\u00fcsteem t\u00f6\u00f6tab, seda rohkem ressursse on vaja uue infrastruktuuri toetamiseks. Avitos kasutame Kubernetes klastreid, milles on tuhandeid teenuse eksemplare (ja nende arv kasvab kiiresti). Praeguses teostuses tarvitab Istio ~300Mb RAM-i igas teenuse eksemplaris. Suure hulga v\u00f5imaluste t\u00f5ttu m\u00f5jutab l\u00e4bipaistev koormuse tasakaalustamine ka teenuste koguaega (kuni 10ms).<\/p>\n<p><\/p>\n<p>Kokkuv\u00f5ttes vaatasime, milliseid v\u00f5imalusi me just n\u00fc\u00fcd vajame, ja otsustasime, et peamine p\u00f5hjus, miks alustasime selliste lahenduste rakendamist, oli v\u00f5imalus koguda j\u00e4lgimisteavet kogu s\u00fcsteemist l\u00e4bipaistvalt. Samuti soovisime omada kontrolli teenustevahelise suhtluse \u00fcle ja teha erinevaid manipulatsioone teenuste vahel edastatavate pealkirjadega. <\/p>\n<p><\/p>\n<p>L\u00f5ppkokkuv\u00f5ttes j\u00f5udsime oma lahenduseni:\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> on kerge service mesh lahendus, mis v\u00f5imaldab piiramatu skaleerimist s\u00f5ltumata teenuste arvust s\u00fcsteemis.<\/p>\n<p><\/p>\n<p>Uue lahenduse peamised eesm\u00e4rgid olid v\u00e4ike ressursi \u00fclet\u00e4ide ja k\u00f5rge j\u00f5udlus. Peamistest funktsioonidest soovisime kohe v\u00f5imalust saadetada j\u00e4lgimisseadet meie Jaeger s\u00fcsteemi l\u00e4bipaistvalt.<\/p>\n<p><\/p>\n<p>T\u00e4nap\u00e4eval p\u00f5hinevad enamik pilve lahendusi Golangil. Ja sellel on oma p\u00f5hjused. Golangis v\u00f5rgu rakenduste kirjutamine, mis t\u00f6\u00f6tavad as\u00fcnkroonselt sisendi-v\u00e4ljundi ja skaleeruvad vajadusel tuumadele, on mugav ja piisavalt lihtne. Ja mis veelgi olulisem, j\u00f5udlus on piisav sellise \u00fclesande lahendamiseks. Seet\u00f5ttu valisime ka meie Golangi.<\/p>\n<p><\/p>\n<h1 id=\"proizvoditelnost\">T\u00f5husus<\/h1>\n<p><\/p>\n<p>Keskendusime oma pingutustes maksimaalse j\u00f5udluse saavutamisele. Lahenduse puhul, mida kasutatakse iga teenuse eksemplari k\u00f5rval, on oluline v\u00e4ike m\u00e4lu ja protsessori kasutus. Ja loomulikult peab vastuse hilinemine olema samuti minimaalne.<\/p>\n<p><\/p>\n<p>Vaatame, millised tulemused saime. <\/p>\n<p><\/p>\n<h2 id=\"ram\">RAM<\/h2>\n<p><\/p>\n<p>Netramesh tarbib ~10Mb ilma liikluseta ja 50Mb maksimaalselt koormuse korral kuni 10000 RPS \u00fche eksemplari kohta.<\/p>\n<p><\/p>\n<p>Istio envoy proxy tarbib alati ~300Mb meie klastrites tuhandete eksemplaridega. See ei v\u00f5imalda skaleerida seda kogu klastrile.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 kergekaaluline teenuste mesh lahendus\" 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 kergekaaluline teenuste mesh lahendus\" src=\"\/wp-content\/uploads\/2019\/04\/d862122a15eb92402e35cb68c448f7c7.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Netrameshiga saime m\u00e4lu tarbimist v\u00e4hendada ~10 korda.<\/p>\n<p><\/p>\n<h2 id=\"cpu\">CPU<\/h2>\n<p><\/p>\n<p>CPU kasutus on koormuse all suhteliselt \u00fchtlane. See s\u00f5ltub soovide hulgast aja\u00fchikus sidecarile. 3000 soovi sekundis tipptasemel v\u00e4\u00e4rtused:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 kergekaaluline teenuste mesh lahendus\" 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 kergekaaluline teenuste mesh lahendus\" src=\"\/wp-content\/uploads\/2019\/04\/5a2eff682a457b620cbf71b520d90ca4.jpg\" style=\"display:block;margin: 0 auto;\" \/> <\/p>\n<p><\/p>\n<p>On veel \u00fcks oluline aspekt: Netramesh on lahendus ilma kontrollplaanita ja ilma koormuseta ei tarbi see protsessori aega. Istio sidecarid uuendavad alati teenuste l\u00f5pp-punkte. L\u00f5ppkokkuv\u00f5ttes saame sellise pildi ilma koormuseta:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 kergekaaluline teenuste mesh lahendus\" src=\"\/wp-content\/uploads\/2019\/04\/6e0212c6d34f8fdabf7b2f50a4f8137a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kasutame teenuste vahel suhtlemiseks HTTP\/1. Istio vastuse hilinemine envoy kaudu proksitamisel oli kuni 5-10ms, mis on piisavalt palju teenuste jaoks, mis on valmis vastama millisekundi jooksul. Netrameshiga v\u00e4henes see aeg 0.5-2ms.<\/p>\n<p><\/p>\n<h1 id=\"masshtabiruemost\">Skaleeritavus<\/h1>\n<p><\/p>\n<p>Iga proxy v\u00e4hene ressursside kasutamine v\u00f5imaldab seda paigutada igasse teenusesse l\u00e4hemale. Netramesh loodi sihilikult ilma kontrollplaani komponendita, et s\u00e4ilitada iga sidecar'i kerge kaal. Tihti teenuse masinas lahendustes jagab kontrollplaan teenuse avastamise teavet igasse sidecar'i. Koos sellega tuleb ka teave ajutiste piirangute ja tasakaalustamiseseadete kohta. K\u00f5ik see v\u00f5imaldab palju kasulikke asju, kuid kahjuks paisutab see sidecar'e suuruses. <\/p>\n<p><\/p>\n<h1 id=\"service-discovery\">Teenuse avastamine<\/h1>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 kergekaaluline teenuste mesh lahendus\" src=\"\/wp-content\/uploads\/2019\/04\/26bc86ed2ebf15a8d51388982e23e16d.jpg\" style=\"display:block;margin: 0 auto;\" \/> <\/p>\n<p><\/p>\n<p>Netramesh ei lisa teenuse avastamiseks mingeid t\u00e4iendavaid mehhanisme. Kogu liiklus proksitakse l\u00e4bipaistvalt netra sidecar'i kaudu. <\/p>\n<p><\/p>\n<p>Netramesh toetab HTTP\/1 rakendusprotokolli. Selle m\u00e4\u00e4ramiseks kasutatakse konfigureeritavat sadamate loendit. T\u00fc\u00fcpiliselt on s\u00fcsteemis mitu porti, mille kaudu toimub HTTP suhtlemine. N\u00e4iteks meie s\u00fcsteemis kasutame teenuste ja v\u00e4liste p\u00e4ringute vahel 80, 8890, 8080. Sel juhul saab neid m\u00e4\u00e4rata keskkonnamuutujaga. <code>NETRA_HTTP_PORTS<\/code>.<\/p>\n<p><\/p>\n<p>Kui kasutate Kubernetes'i orkestratsioonina ja selle Service mehhanismi siseklastri teenuste vaheliseks suhtlemiseks, j\u00e4\u00e4b mehhanism samaks. Esiteks saab mikroteenus service IP-aadressi kube-dns-i kaudu ja avab sellele uue \u00fchenduse. See \u00fchendus luuakse esmalt kohaliku netra-sidecariga ja k\u00f5ik TCP paketid j\u00f5uavad esmalt netra juurde. Edasi loob netra-sidecar \u00fchenduse algse sihtkoha juurde. NAT pod IP-l s\u00f5lmes j\u00e4\u00e4b samaks nagu ka ilma netra'ita.<\/p>\n<p><\/p>\n<h1 id=\"raspredelennyy-tracing-i-prokidyvanie-konteksta\">Jaotatud j\u00e4lgimine ja konteksti edastamine<\/h1>\n<p><\/p>\n<p>Netramesh pakub funktsionaalsust, mis on vajalik HTTP suhtlemise j\u00e4lgimisfuuside saatmiseks. Netra-sidecar anal\u00fc\u00fcsib HTTP protokolli, m\u00f5\u00f5dab p\u00e4ringute viivitusi ja toob vajalikku teavet HTTP p\u00e4istest. L\u00f5ppkokkuv\u00f5ttes saame k\u00f5ik j\u00e4lgimised \u00fches Jaeger'i s\u00fcsteemis. Peene konfigureerimise jaoks saab kasutada ka keskkonnamuutujaid, mida pakub ametlik raamatukogu. <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 kergekaaluline teenuste mesh lahendus\" 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 kergekaaluline teenuste mesh lahendus\" src=\"\/wp-content\/uploads\/2019\/04\/20ff67f0c7f3590dce3d41db2a10267e.jpg\" style=\"display:block;margin: 0 auto;\" \/> <\/p>\n<p><\/p>\n<p>Kuid on probleem. Kuni teenused ei genereeri ja edasta spetsiaalset uber p\u00e4ist, ei n\u00e4e me \u00fchendatud j\u00e4lgimisfuuse s\u00fcsteemis. Ja see on see, mida meil on vaja probleemide kiireks tuvastamiseks. Siin on Netramesh'il taas lahendus. Proksid loevad HTTP p\u00e4iseid ja kui neis ei ole uber j\u00e4lgimise ID'd, genereerivad nad selle. Netramesh s\u00e4ilitab ka teavet sissetulevate ja v\u00e4ljaminevate p\u00e4ringute kohta sidecar'is ning seostab need vajalike p\u00e4iste rikastamise teel v\u00e4ljaminevates p\u00e4ringutes. K\u00f5ik, mida on vaja teenustes teha, on edastada vaid \u00fcks p\u00e4is. <code>X-Request-Id<\/code>, mida saab konfigureerida keskkonnamuutujaga. <code>NETRA_HTTP_REQUEST_ID_HEADER_NAME<\/code>. Netramesh'is konteksti suuruse juhtimiseks saab m\u00e4\u00e4rata j\u00e4rgmised keskkonnamuutujad: <code>NETRA_TRACING_CONTEXT_EXPIRATION_MILLISECONDS<\/code> (aeg, mille jooksul konteksti hoitakse) ja <code>NETRA_TRACING_CONTEXT_CLEANUP_INTERVAL<\/code> (konteksti puhastamise sagedus).<\/p>\n<p><\/p>\n<p>Samuti on v\u00f5imalik kombineerida mitu teed teie s\u00fcsteemis, t\u00e4histades neid erilise sessioonimarkeriga. Netra v\u00f5imaldab seadistada <code>HTTP_HEADER_TAG_MAP<\/code> HTTP p\u00e4iste muutmiseks vastavateks j\u00e4lgimise span siltideks. See v\u00f5ib olla eriti kasulik testimise jaoks. P\u00e4rast funktsionaalset testi saab vaadata, milline osa s\u00fcsteemist oli m\u00f5jutatud, filtreerides sobiva sessiooni v\u00f5tme j\u00e4rgi.<\/p>\n<p><\/p>\n<h1 id=\"opredelenie-istochnika-zaprosa\">P\u00e4ringu allika m\u00e4\u00e4ramine<\/h1>\n<p><\/p>\n<p>Kuna m\u00e4\u00e4rata, kust p\u00e4ring tuli, saab kasutada automaatse pealkirja lisamise funktsiooni. Keskkonnamuutuja <code>NETRA_HTTP_X_SOURCE_HEADER_NAME<\/code> v\u00f5imaldab m\u00e4\u00e4rata pealkirja nime, mis lisatakse automaatselt. Muutuja <code>NETRA_HTTP_X_SOURCE_VALUE<\/code> lubab m\u00e4\u00e4rata v\u00e4\u00e4rtuse, millega X-Source pealkiri seotakse k\u00f5ikide v\u00e4ljuvate p\u00e4ringute puhul. <\/p>\n<p><\/p>\n<p>See v\u00f5imaldab \u00fchtselt kogu v\u00f5rgus s\u00e4ilitada seda kasulikku pealkirja. Edasi on v\u00f5imalik seda kasutada teenustes ja lisada logidesse, m\u00f5\u00f5tmistesse.<\/p>\n<p><\/p>\n<h1 id=\"routing-trafika-i-vnutrennosti-netramesh\">Liikluse suunamine ja Netrameshi sisemus<\/h1>\n<p><\/p>\n<p>Netramesh koosneb kahest peamisest komponendist. Esimene, netra-init, seadistab v\u00f5rgu reeglid liikluse p\u00fc\u00fcdmiseks. See kasutab <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Lookyan\/netramesh\/blob\/master\/iptables-rules.sh\">iptables redirect reegleid<\/a><\/noindex> kogu v\u00f5i osa liikluse p\u00fc\u00fcdmiseks sidecari, mis on Netrameshi teine peamine komponent. Saate seadistada, milliseid porte tuleb p\u00fc\u00fcda sissetulevates ja v\u00e4ljaminevates TCP sessioonides: <code>INBOUND_INTERCEPT_PORTS, OUTBOUND_INTERCEPT_PORTS<\/code>.<\/p>\n<p><\/p>\n<p>Samuti on t\u00f6\u00f6riistal huvitav v\u00f5imalus \u2014 t\u00f5en\u00e4osuslik suunamine. Kui kasutada Netrameshi ainult j\u00e4lgimise span'ide kogumiseks, siis v\u00f5ib tootmisolukorras ressursse kokku hoida ja lubada t\u00f5en\u00e4osuslikku suunamist muutuja abil <code>NETRA_INBOUND_PROBABILITY<\/code> ja <code>NETRA_OUTBOUND_PROBABILITY<\/code> (0 kuni 1). Vaikimisi on v\u00e4\u00e4rtus 1 (kogu liiklus on p\u00fc\u00fctud).<\/p>\n<p><\/p>\n<p>P\u00e4rast eduka p\u00fc\u00fcdmist v\u00f5tab netra sidecar uue \u00fchenduse ja kasutab <code>SO_ORIGINAL_DST<\/code> soketi valikut, et saada algne sihtpunkt. Seej\u00e4rel avab Netra uue \u00fchenduse algse IP-aadressiga ja loob kahepoolse TCP suhtluse osapoolte vahel, kuulates kogu liikumat liiklust. Kui port on m\u00e4\u00e4ratud kui HTTP, proovib Netra seda anal\u00fc\u00fcsida ja j\u00e4lgida. Kui HTTP anal\u00fc\u00fcs eba\u00f5nnestub, teeb Netra tagasiulatuva TCP ja l\u00e4bipaistvalt proksib byte.<\/p>\n<p><\/p>\n<h1 id=\"postroenie-grafa-zavisimostey\">S\u00f5ltuvuste graafi koostamine<\/h1>\n<p><\/p>\n<p>P\u00e4rast suuri tracing teabe kogumise sessioone Jaegeris tahaksin saada s\u00fcsteemis t\u00e4ielikku suhtlemisgraafi. Kuid kui teie s\u00fcsteem on piisavalt koormatud ja \u00fche p\u00e4eva jooksul koguneb miljardite tracing span'ide arv, siis nende agregatsioon ei ole enam lihtne \u00fclesanne. Selleks on ametlik viis: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jaegertracing\/spark-dependencies\">spark-dependencies<\/a><\/noindex>. Siiski v\u00f5ib selle t\u00e4ieliku graafi koostamine v\u00f5tta tunde ja sunnib teid alla laadima kogu jaotuse Jaegerist viimase 24 tunni kohta. <\/p>\n<p><\/p>\n<p>Kui kasutate tracing span'ide salvestamiseks Elasticsearch'i, siis saate kasutada <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Lookyan\/jaeger-dependencies\">lihtsat utiliiti Golang'is<\/a><\/noindex>, mis koostab sarnase graafi minutitega, kasutades Elasticsearch'i omadusi ja v\u00f5imalusi.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 kergekaaluline teenuste mesh lahendus\" src=\"\/wp-content\/uploads\/2019\/04\/26eb13e066ed8482010fde103d3832fd.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h1 id=\"kak-ispolzovat-netramesh\">Kuidas kasutada Netrameshi<\/h1>\n<p><\/p>\n<p>Netra saab lihtsalt lisada igale teenusele, mis t\u00f6\u00f6tab mis tahes orkestratori haldusel. V\u00f5ite vaadata n\u00e4idet <noindex><a rel=\"nofollow\" href=\"http:\/\/bit.ly\/2HVRv7D\">siit<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Hetkel ei pakku Netra automaatset sidumise v\u00f5imalust teenustele, kuid plaanid selle rakendamiseks on olemas. <\/p>\n<p><\/p>\n<h1 id=\"buduschee-netramesh\">Netrameshi tulevik<\/h1>\n<p><\/p>\n<p>Peamine eesm\u00e4rk <noindex><a rel=\"nofollow\" href=\"http:\/\/bit.ly\/netra_ru\">Netramesh<\/a><\/noindex> on saavutada minimaalne ressursikasutus ja k\u00f5rge sooritusv\u00f5ime, pakkudes p\u00f5hifunktsioone observability ja teenustevahelise suhtlemise kontrollimiseks. <\/p>\n<p><\/p>\n<p>Tulevikus toetab Netramesh lisaks HTTP-le ka teisi rakendusprotokolle. Varsti tuleb v\u00e4lja L7 suunamine.<\/p>\n<p><\/p>\n<p>Kasutage Netrameshi, kui seisate silmitsi sarnaste probleemidega, ja saatke meile oma k\u00fcsimused ja ettepanekud.<\/p>\n<p>Allikas: <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.1.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.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/netramesh-legkovesnoe-service-mesh-reshenie\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\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\/et\/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 kergekaaluline service mesh lahendus | ProHoster","description":"\u00dcleminekul monoliidist mikroteenuste arhitektuurile puutume kokku uute probleemidega. Monoliitses rakenduses on tavaliselt piisav, et m\u00e4\u00e4rata, kus s\u00fcsteemis probleem tekkis.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/netramesh-legkovesnoe-service-mesh-reshenie","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/32777","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=32777"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/32777\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/24554"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=32777"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=32777"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=32777"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}