{"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 kerge teenuste sihverplaatratkaisu.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Monoliitrakenduselt mikroteenuste arhitektuurile \u00fcleminekul seisame silmitsi uute v\u00e4ljakutsetega.<\/p>\n<p><\/p>\n<p>Monoliitrakenduses on tavaliselt piisav lihtsalt m\u00e4\u00e4rata, millises s\u00fcsteemi osas viga esines. T\u00f5en\u00e4oliselt on probleem monoliidi enda koodis v\u00f5i andmebaasis. Kuid kui hakkame otsima probleemi mikroteenuste arhitektuuris, pole k\u00f5ik enam nii selge. Peame leidma terve tee, mille meediasisend l\u00e4bis algusest l\u00f5puni, eraldama selle sadade mikroteenuste seast. Paljudel neist on ka oma andmehoidlad, kus v\u00f5ivad tekkida nii loogilised vead kui ka probleemid j\u00f5udluse ja usaldusv\u00e4\u00e4rsusega.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 kerge teenuste sihverplaatratkaisu.\" 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 toime tulla (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\u00f5puks tegin oma avatud l\u00e4htekoodiga lahenduse. Artiklis r\u00e4\u00e4gin teenuste v\u00f5rgustiku l\u00e4henemise 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 vigade leidmise probleemile jaotatud s\u00fcsteemides. Kuid mida teha, kui s\u00fcsteemis ei ole veel sellist l\u00e4henemist v\u00f5rgusuhete teabe kogumisele rakendatud, v\u00f5i veel hullem, kui see t\u00f6\u00f6tab osaliselt, aga teistes osades mitte, kuna see ei ole vanades teenustes lisatud? Probleemi t\u00e4pse juurp\u00f5hjuseni j\u00f5udmiseks on oluline omada t\u00e4ielikku \u00fclevaadet s\u00fcsteemis toimuva kohta. Eriti oluline on m\u00f5ista, millised mikroteenusest osalevad \u00e4ri jaoks kriitilistes teeotsades.<\/p>\n<p><\/p>\n<p>Siin v\u00f5ib meile abiks tulla teenuse mesh l\u00e4henemine, mis tegeleb kogu v\u00f5rguteabe kogumise masinav\u00e4rgiga madalamal tasemel, kui t\u00f6\u00f6tavad ise teenused. See l\u00e4henemine v\u00f5imaldab meil kogu liiklust salvestada ja reaalajas anal\u00fc\u00fcsida. Lisaks ei pea rakendused selle kohta isegi midagi teadma.<\/p>\n<p><\/p>\n<h1 id=\"service-mesh-podhod\">Teenuse mesh l\u00e4henemine<\/h1>\n<p><\/p>\n<p>Service mesh l\u00e4henemise p\u00f5hij\u00f5ud on lisada veel \u00fcks infrastruktuuritase v\u00f5rgu kohale, mis v\u00f5imaldab meil teha k\u00f5ike vaheteenuste suhtluses. Enamik rakendusi t\u00f6\u00f6tab j\u00e4rgmiselt: iga mikroteenusest lisatakse t\u00e4iendav sidecar konteiner l\u00e4bipaistva proksiga, mille kaudu suunatakse kogu teenuse sisene ja v\u00e4ljuv liiklus. Ja just siin on koht, kus saame teha kliendipoolset tasakaalustamist, rakendada turvapoliitikaid, kehtestada piirangud p\u00e4ringute arvu osas ning koguda olulist teavet teenuste vahelisest suhtlusest tootmisreeglites.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 kerge teenuste sihverplaatratkaisu.\" 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>Selle l\u00e4henemise mitmed rakendused on juba olemas: <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 to adjust the balance between functionality and resource consumption. While the extensive features provide great value out of the box, they also bring significant resource overhead. The larger the cluster running this system, the more resources you need to maintain the new infrastructure. At Avito, we operate Kubernetes clusters housing thousands of service instances, and this number is rapidly growing. In the current implementation, Istio consumes approximately 300MB of RAM per service instance. Due to the wide range of functionalities, transparent load balancing also impacts the overall response time of services, reaching up to 10ms.<\/p>\n<p><\/p>\n<p>As a result, we assessed our immediate needs and concluded that the primary reason for implementing such solutions was the ability to gather tracing information transparently across the entire system. We also wanted control over the interactions between services and the ability to manipulate headers transmitted between them. <\/p>\n<p><\/p>\n<p>Ultimately, we arrived at our solution:\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 see on kerge service mesh lahendus, mis v\u00f5imaldab piiramatu skaleerimist s\u00f5ltumata s\u00fcsteemis olevate teenuste arvust.<\/p>\n<p><\/p>\n<p>Uue lahenduse peamisteks eesm\u00e4rkideks olid madal ressursi \u00fclej\u00e4\u00e4nud ja k\u00f5rge j\u00f5udlus. Peamistest omadustest soovisime kohe v\u00f5imalust l\u00e4bipaistvalt edastada tracing span'e meie Jaeger s\u00fcsteemi.<\/p>\n<p><\/p>\n<p>T\u00e4na rakendatakse enamik pilvelahendusi Golangis. Ja loomulikult on sellel omad p\u00f5hjused. Golangis v\u00f5rgu\u00fchendusi kirjutamine, mis t\u00f6\u00f6tavad as\u00fcnkroonselt sisendi-tingimusena ja skaleeruvad vastavalt vajadusele tuumadele, on mugav ja piisavalt lihtne. Ja mis samuti v\u00e4ga oluline, j\u00f5udlus on piisav selle \u00fclesande t\u00e4itmiseks. Seet\u00f5ttu valisime ka Golangi.<\/p>\n<p><\/p>\n<h1 id=\"proizvoditelnost\">Tootlikkus<\/h1>\n<p><\/p>\n<p>Keskendume oma j\u00f5udlustega maksimaalse j\u00f5udluse saavutamisele. Lahendusele, mis paigaldatakse igas teenuse eksemplaris, on vajalik v\u00e4ike m\u00e4lu ja protsessorite aeg. Ja loomulikult peab ka vastuse viivitus olema v\u00e4ike.<\/p>\n<p><\/p>\n<p>Vaatame, millised on tulemused. <\/p>\n<p><\/p>\n<h2 id=\"ram\">RAM<\/h2>\n<p><\/p>\n<p>Netramesh tarbib ~10Mb ilma liikluseta ja kuni 50Mb maksimaalselt 10000 RPS koormusel \u00fche instantsi kohta.<\/p>\n<p><\/p>\n<p>Istio envoy proxy tarbib alati ~300Mb meie klastrites, kus on tuhandeid instantsse. See ei v\u00f5imalda sellel skaleeruda kogu klastrile.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 kerge teenuste sihverplaatratkaisu.\" 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 kerge teenuste sihverplaatratkaisu.\" src=\"\/wp-content\/uploads\/2019\/04\/d862122a15eb92402e35cb68c448f7c7.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Netrameshiga oleme saavutanud m\u00e4lu tarbimise v\u00e4henemise umbes 10 korda.<\/p>\n<p><\/p>\n<h2 id=\"cpu\">CPU<\/h2>\n<p><\/p>\n<p>CPU kasutamine on koormuse korral suures osas \u00fchtlane. See s\u00f5ltub sidecarile suunatud p\u00e4ringute arvust ajas. Arvud 3000 p\u00e4ringu sekundi tipul:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 kerge teenuste sihverplaatratkaisu.\" 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 kerge teenuste sihverplaatratkaisu.\" 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 control plane'ita ja ilma koormuseta ei tarbi see protsessoriaega. Istio sidecar'id uuendavad alati teenuste l\u00f5pp-punkte. Tulemusena n\u00e4eme sellist pilti ilma koormuseta:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 kerge teenuste sihverplaatratkaisu.\" 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 aeg envoy kaudu edasi suunamisel kasvas kuni 5-10ms, mis on piisavalt palju teenuste jaoks, mis on valmis vastama millisekundi jooksul. Netrameshiga v\u00e4hendati seda aega 0.5-2ms.<\/p>\n<p><\/p>\n<h1 id=\"masshtabiruemost\">Skaleeritavus<\/h1>\n<p><\/p>\n<p>V\u00e4ike ressursside kogus, mida iga proxie kasutab, v\u00f5imaldab seda paigutada iga teenuse l\u00e4hedale. Netramesh on loodud ilma control plane komponendita, et hoida iga sidecar'i kerge. Tihti teenuse mesh'i lahendustes jagab control plane teenuse avastamise teavet igasse sidecar'i. Koos sellega tuleb ka teave timeout'ide ja koormuse tasakaalustamise seadete kohta. K\u00f5ik see v\u00f5imaldab teha 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 kerge teenuste sihverplaatratkaisu.\" src=\"\/wp-content\/uploads\/2019\/04\/26bc86ed2ebf15a8d51388982e23e16d.jpg\" style=\"display:block;margin: 0 auto;\" \/> <\/p>\n<p><\/p>\n<p>Netramesh ei lisa mingeid t\u00e4iendavaid mehhanisme teenuse avastamiseks. Kogu liiklus suunatakse l\u00e4bipaistvalt netra sidecar'i kaudu. <\/p>\n<p><\/p>\n<p>Netramesh toetab HTTP\/1 rakendusprotokolli. Selle m\u00e4\u00e4ratlemiseks kasutatakse konfigureeritavat portide nimekirja. Tavaliselt on s\u00fcsteemis mitu porti, mille kaudu toimub HTTP suhtlemine. N\u00e4iteks meie s\u00fcsteemis kasutame teenuste ja v\u00e4liste p\u00e4ringute suhtlemiseks 80, 8890 ja 8080. Sellisel juhul saab neid m\u00e4\u00e4rata keskkonna muutujaga. <code>NETRA_HTTP_PORTS<\/code>.<\/p>\n<p><\/p>\n<p>Kui kasutate Kubernetes't orkestreerijana ja tema Service mehhanismi teenustevaheliseks suhtlemiseks klastris, siis mehhanism j\u00e4\u00e4b t\u00e4pselt samaks. Esiteks saab mikroteenus teenuse IP-aadressi kube-dns'i kaudu ja avab sellele uue \u00fchenduse. See \u00fchendus luuakse k\u00f5igepealt kohaliku netra-sidecar'iga ja k\u00f5ik TCP paketid j\u00f5uavad algselt just netrasse. J\u00e4rgmiseks loob netra-sidecar \u00fchenduse algse sihtkohaga. NAT pod IP-l s\u00f5lmes j\u00e4\u00e4b samaks nagu netra puudumisel.<\/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 j\u00e4lgimise span'ide saatmiseks HTTP suhtlemise kohta. Netra-sidecar parsink HTTP protokolli, m\u00f5\u00f5dab p\u00e4ringute latentsust, saadab vajalikku teavet HTTP p\u00e4istest. L\u00f5ppkokkuv\u00f5ttes saame k\u00f5ik j\u00e4lgimised \u00fchte Jaegeri s\u00fcsteemi. T\u00e4iendava seadistuse jaoks saab kasutada ka keskkonnamuutujaid, mida pakub ametlik teek. <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 kerge teenuste sihverplaatratkaisu.\" 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 kerge teenuste sihverplaatratkaisu.\" src=\"\/wp-content\/uploads\/2019\/04\/20ff67f0c7f3590dce3d41db2a10267e.jpg\" style=\"display:block;margin: 0 auto;\" \/> <\/p>\n<p><\/p>\n<p>Aga probleem on. Kuni teenused ei genereeri ja edasta spetsiaalset uber p\u00e4ist, ei n\u00e4e me \u00fchendatud j\u00e4lgimis span'e s\u00fcsteemis. See on see, mida vajame probleemide kiireks leidmiseks. Siin pakub Netramesh j\u00e4lle lahenduse. Proxy loevad HTTP p\u00e4iseid ning kui seal pole uber trace id, genereerivad nad selle. Netramesh salvestab ka teabe sissetulevate ja v\u00e4ljaminevate p\u00e4ringute kohta sidecar'is ning seob need koos vajalike p\u00e4iste rikastamise teel v\u00e4ljaminevatele p\u00e4ringutele. K\u00f5ik, mida teenustes teha tuleb, on edastada \u00fcks p\u00e4is <code>X-Request-Id<\/code>, mida saab konfigureerida keskkonnamuutuja abil <code>NETRA_HTTP_REQUEST_ID_HEADER_NAME<\/code>. Netrameshi konteksti suuruse haldamiseks saab m\u00e4\u00e4rata j\u00e4rgmised keskkonnamuutujad: <code>NETRA_TRACING_CONTEXT_EXPIRATION_MILLISECONDS<\/code> (aeg, mille jooksul konteksti s\u00e4ilitatakse) ja <code>NETRA_TRACING_CONTEXT_CLEANUP_INTERVAL<\/code> (konteksti puhastamise sagedus).<\/p>\n<p><\/p>\n<p>Samuti on v\u00f5imalik kombineerida mitmeid teid teie s\u00fcsteemis, m\u00e4rgistades need spetsiaalse seansimarkeriga. Netra v\u00f5imaldab seada <code>HTTP_HEADER_TAG_MAP<\/code> HTTP-pealkirjade teisendamine vastavatesse j\u00e4lgimis\u00fckste tagideks. See v\u00f5ib olla eriti kasulik testimiseks. P\u00e4rast funktsionaalsuse testi l\u00e4bimist on v\u00f5imalik vaadata, milline osa s\u00fcsteemist oli m\u00f5jutatud, filtreerides vastava session v\u00f5tme j\u00e4rgi.<\/p>\n<p><\/p>\n<h1 id=\"opredelenie-istochnika-zaprosa\">P\u00e4ringu allika m\u00e4\u00e4ratlemine<\/h1>\n<p><\/p>\n<p>P\u00e4ringu p\u00e4ritolu m\u00e4\u00e4ramiseks saab kasutada automaatse p\u00e4ise lisamise funktsionaalsust. Keskkonnamuutuja abil <code>NETRA_HTTP_X_SOURCE_HEADER_NAME<\/code> on v\u00f5imalik m\u00e4\u00e4rata p\u00e4ise nimi, mis seatakse automaatselt. Kasutades <code>NETRA_HTTP_X_SOURCE_VALUE<\/code> saab m\u00e4\u00e4rata v\u00e4\u00e4rtuse, millega X-Source p\u00e4is seatakse k\u00f5igile v\u00e4ljaminevatele p\u00e4ringutele. <\/p>\n<p><\/p>\n<p>See v\u00f5imaldab \u00fchtlaselt kogu v\u00f5rgus selle kasuliku p\u00e4ise levitamist. Edasi saab seda kasutada teenustes ja lisada logidesse, metrikatesse.<\/p>\n<p><\/p>\n<h1 id=\"routing-trafika-i-vnutrennosti-netramesh\">Liikluse juhtimine ja Netrameshi sisemused<\/h1>\n<p><\/p>\n<p>Netramesh koosneb kahest peamisest komponendist. Esimene, netra-init, seadistab v\u00f5rgureeglid 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 sidecar'is, mis on Netrameshi teine peamine komponent. Saate seadistada, milliseid portte soovite p\u00fc\u00fcda sissetulevatesse ja v\u00e4ljuvatesse TCP sessioonidesse: <code>SISSETULEVAD_P\u00dc\u00dcDURI_PORTID, V\u00c4LJUTELEVAD_P\u00dc\u00dcDURI_PORTID<\/code>.<\/p>\n<p><\/p>\n<p>Samuti on t\u00f6\u00f6riistas huvitav v\u00f5imalus - t\u00f5en\u00e4osusp\u00f5hine marsruutimine. Kui kasutada Netrameshi ainult j\u00e4lgimisandmete kogumiseks, saab tootmisikeskkonnas ressursse kokku hoida ja lubada t\u00f5en\u00e4osusp\u00f5hise marsruutimise abil muutujaid <code>NETRA_SISSEST_PROBABILITEET<\/code> ja <code>NETRA_V\u00c4LJUTELEV_PROBABILITEET<\/code> (0 kuni 1). Vaikimisi v\u00e4\u00e4rtus on 1 (p\u00fc\u00fcab kogu liikluse).<\/p>\n<p><\/p>\n<p>P\u00e4rast edukat p\u00fc\u00fcdmist v\u00f5tab netra sidecar uue \u00fchenduse ja kasutab <code>SO_ORIGINAL_DST<\/code> socketi valikut, et saada algne sihtkoht. Seej\u00e4rel avab Netra uue \u00fchenduse algse IP-aadressiga ja loob kahepoolse TCP-\u00fchenduse osaliste vahel, kuulates kogu l\u00e4biva liikluse. Kui port on m\u00e4\u00e4ratud kui HTTP, p\u00fc\u00fcab Netra seda anal\u00fc\u00fcsida ja j\u00e4lgida. Kui HTTP anal\u00fc\u00fcs eba\u00f5nnestub, j\u00e4rgneb Netra TCP-le ja sujuvalt edastab baite.<\/p>\n<p><\/p>\n<h1 id=\"postroenie-grafa-zavisimostey\">S\u00f5ltuvuste graafi koostamine<\/h1>\n<p><\/p>\n<p>P\u00e4rast suurt hulka j\u00e4lgimisteabe saamist Jaegeris, tahaks saada t\u00e4ielikku s\u00fcsteemi suhtlemise graafikut. Kuid kui teie s\u00fcsteem on piisavalt koormatud ja p\u00e4eva jooksul koguneb miljardeid j\u00e4lgimise spanne, muutub nende kogumine mitte nii lihtsaks \u00fclesandeks. On ametlik viis selleks: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jaegertracing\/spark-dependencies\">spark-dependencies<\/a><\/noindex>. Sellegipoolest v\u00f5tab see tunde, et koostada t\u00e4ielik graaf ja sunnib alla laadima Jaegerist kogu andmestiku viimase 24 tunni jooksul. <\/p>\n<p><\/p>\n<p>Kui kasutate j\u00e4lgimispannide salvestamiseks Elasticsearchi, saate kasutada <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Lookyan\/jaeger-dependencies\">lihtsat t\u00f6\u00f6riista Golangis<\/a><\/noindex>, mis koostab sarnase graafi minutitega, kasutades Elasticsearchi omadusi ja v\u00f5imalusi.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Netramesh \u2013 kerge teenuste sihverplaatratkaisu.\" 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>Netrat saab lihtsalt lisada igale teenusele, mis t\u00f6\u00f6tab mis tahes orkestreerija all. Saate vaadata n\u00e4idet <noindex><a rel=\"nofollow\" href=\"http:\/\/bit.ly\/2HVRv7D\">siin<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Praegu ei ole Netratel automaatset sidecar'i teenustele integreerimise v\u00f5imalust, kuid see on plaanis. <\/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 madalad ressursikulud ja k\u00f5rge j\u00f5udlus, pakkudes p\u00f5hiv\u00f5imalusi j\u00e4lgimise ja teenustevahelise suhtluse kontrollimise jaoks. <\/p>\n<p><\/p>\n<p>Tulevikus saab Netramesh toetada ka muid rakendustasandi protokolle peale HTTP. Peagi lisandub L7 suunamine.<\/p>\n<p><\/p>\n<p>Kasutage Netramesh'i, kui olete sarnaste probleemidega silmitsi, ning 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 4.9.10 - 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\/et\/blog\/administrirovanie\/netramesh-legkovesnoe-service-mesh-reshenie\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\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\/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 teenuste v\u00f5rgu lahendus | ProHoster","description":"Monoliidilt mikroteenuste arhitektuurile \u00fclemineku k\u00e4igus kohtame uusi probleeme. Monoliitses rakenduses piisab tavaliselt lihtsalt teadmisest, kus s\u00fcsteemis viga on. T\u00f5en\u00e4oliselt on probleem monoliidi koodis v\u00f5i andmebaasis. Kuid kui hakkame viga otsima mikroteenuste arhitektuuris, ei ole asjad enam nii selged. Tuleb leida k\u00f5ik","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 \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\/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"},"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}]}}