{"id":85697,"date":"2020-06-18T13:42:52","date_gmt":"2020-06-18T11:42:52","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/chto-takoe-service-mesh"},"modified":"2020-06-18T13:42:52","modified_gmt":"2020-06-18T11:42:52","slug":"chto-takoe-service-mesh","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sl\/blog\/administrirovanie\/chto-takoe-service-mesh","title":{"rendered":"Kaj je Service Mesh?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b><i>Spet pozdravljeni!.. Ob za\u010detku te\u010daja <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/UNlX\/\">\u00bbArhitekt programske opreme\u00ab<\/a><\/noindex> smo pripravili \u0161e en uporaben prevod.<\/i><\/b><\/p>\n<p><img decoding=\"async\" alt=\"Kaj je Service Mesh?\" src=\"\/wp-content\/uploads\/2020\/06\/afc53e48443ce4a402b6b1cba1184e6c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n Service Mesh je konfigurabilna infrastruktura z nizko zamudo, ki je potrebna za obdelavo velikega obsega omre\u017enih medprocesnih komunikacij med vmesniki aplikacij (API). Service Mesh omogo\u010da hitro, zanesljivo in varno komunikacijo med kontejneriziranimi in pogosto efemernimi storitvami aplikacijske infrastrukture. Service Mesh ponuja funkcionalnosti, kot so odkrivanje storitev, obremenitvena porazdelitev, \u0161ifriranje, preglednost, sledenje, avtentikacijo in avtorizacijo ter podporo za vzorec samodejnega izklopa (<i>circuit breaker<\/i>).<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n Service Mesh se obi\u010dajno implementira z dodelitvijo vsaki instanci storitve instance proxy, imenovane <i>Sidecar. Sidecar<\/i> obravnavajo komunikacije med storitvami, izvajajo spremljanje in odpravo te\u017eav z varnostjo, kar pomeni vse, kar se lahko abstrahira od posameznih storitev. Tako lahko razvijalci pi\u0161ejo, vzdr\u017eujejo in slu\u017eijo kodo aplikacije v storitvah, medtem ko lahko sistemski skrbniki delajo s Service Mesh in izvajajo aplikacijo.<\/p>\n<p>Istio, ki ga razvijata Google, IBM in Lyft, je trenutno najbolj znana arhitektura Service Mesh. Kubernetes, ki je bil prvotno razvit pri Googlu, je zdaj edina platforma za orkestracijo kontejnerjev, ki jo podpira Istio. Dobavitelji posku\u0161ajo ustvariti komercialno podprte razli\u010dice Istio. Zanimivo bo videti, kaj novega bodo prinesli v projekt z odprtokodno kodo.<\/p>\n<p>Vendar Istio ni edina mo\u017enost, saj se razvijajo tudi druge implementacije Service Mesh. Vzorec <code>sidecar proxy<\/code> je najbolj priljubljena implementacija, kar lahko vidimo po projektih Buoyant, HashiCorp, Solo.io in drugih. Obstoje\u010de so tudi alternativne arhitekture: tehnolo\u0161ki nabor Netflix je eden od pristopov, kjer se funkcionalnost Service Mesh uresni\u010duje s pomo\u010djo knji\u017enic Ribbon, Hysterix, Eureka, Archaius in drugih platform, kot je Azure Service Fabric.<\/p>\n<p>Service Mesh ima tudi svojo lastno terminologijo za komponente storitev in funkcionalnosti:<\/p>\n<ul>\n<li><b>Okvir za orkestracijo kontejnerjev<\/b>. Z nara\u0161\u010danjem \u0161tevila kontejnerjev v infrastrukturi aplikacije se pojavi potreba po posebnem orodju za spremljanje in upravljanje kontejnerjev \u2013 okviru za orkestracijo kontejnerjev. Kubernetes je trdno zasedel to ni\u0161o, tako zelo, da njegovi glavni konkurenti Docker Swarm in Mesosphere DC\/OS ponujajo integracijo s Kubernetes kot alternativo.<\/li>\n<li><b>Storitve in primeri (Kubernetes podi)<\/b>. Primer je ena sama zagnana kopija mikrost storitve. V\u010dasih je en primer en kontejner. V Kubernetesu je primer sestavljen iz majhne skupine neodvisnih kontejnerjev, ki se imenuje pod. Stranke redko neposredno naslavljajo primer ali pod, pogosteje se obra\u010dajo na storitev, ki predstavlja niz identi\u010dnih, skalabilnih in odpornosti vrednih primerov ali podov (replik).<\/li>\n<li><b>Sidecar Proxy<\/b>. Sidecar Proxy deluje z enim primerom ali podom. Namen Sidecar Proxy je usmerjati ali posredovati promet, ki prihaja iz kontejnerja, s katerim deluje, in obrnjen promet. Sidecar komunicira z drugimi Sidecar Proxy in ga upravlja okvir za orkestracijo. Mnoge implementacije Service Mesh uporabljajo Sidecar Proxy za prestrezanje in upravljanje vsega prihajajo\u010dega in odhajajo\u010dega prometa primera ali poda.<\/li>\n<li><b>Odkritje storitev<\/b>. Ko se mora primer povezati z drugo storitvijo, mora najti (odkriti) delujo\u010d in dostopen primer druge storitve. Obi\u010dajno primer i\u0161\u010de prek DNS. Okvir za orkestracijo kontejnerjev hrani seznam primerov, ki so pripravljeni sprejeti poizvedbe, in ponuja vmesnik za DNS poizvedbe.<\/li>\n<li><b>Porazdelitev bremena<\/b>. Ve\u010dina okvirjev za orkestracijo kontejnerjev zagotavlja uravnote\u017eenje obremenitev na 4. ravni (transportni). Service Mesh zagotavlja bolj zapleteno uravnote\u017eenje obremenitev na 7. ravni (aplikativni), bogato z algoritmi in bolj u\u010dinkovito pri upravljanju prometa. Mo\u017enosti uravnote\u017eenja obremenitev je mogo\u010de spremeniti z uporabo API, kar omogo\u010da orkestracijo modro-zelene ali kanar\u010dne namestitve.<\/li>\n<li><b>\u0160ifriranje<\/b>. Service Mesh lahko \u0161ifrira in de\u0161ifrira zahteve ter odgovore, kar olaj\u0161a breme storitvam. Service Mesh lahko tudi izbolj\u0161a u\u010dinkovitost s prednostno obravnavo ali ponovnim uporabo obstoje\u010dih vzpostavljenih povezav, kar zmanj\u0161uje potrebo po dragih izra\u010dunih za ustvarjanje novih povezav. Najpogostej\u0161a implementacija \u0161ifriranja prometa je <i>mutual TLS (mTLS)<\/i>, kjer infrastruktura javnih klju\u010dev (PKI) generira in razporeja certifikate ter klju\u010de za uporabo v Sidecar Proxy.<\/li>\n<li><b>Avtentikacija in avtorizacija<\/b>. Service Mesh lahko avtenticira in avtorizira zahteve, ki jih po\u0161ljejo zunanji ali notranji uporabniki aplikacije, tako da po\u0161ilja primerkom samo potrjene zahtevke.<\/li>\n<li><b>Podpora predlogu avtomatskega izklopa<\/b>. Service Mesh podpira <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/blog\/microservices-reference-architecture-nginx-circuit-breaker-pattern\/\">predlog avtomatskega izklopa<\/a><\/noindex>, ki izolira nezdrave primere in jih nato postopoma vra\u010da v skupino zdravih primerov po potrebi.<\/li>\n<\/ul>\n<p>\nDel aplikacije Service Mesh, ki upravlja omre\u017eni promet med primeri, se imenuje <i>Data Plane<\/i>. Ustvarjanje in uvedba konfiguracije, ki upravlja vedenje <i>Data Plane<\/i>, se izvede s pomo\u010djo lo\u010denega <i>Control Plane<\/i>. <i>Control Plane<\/i> , ki obi\u010dajno vklju\u010duje ali je zasnovana za povezovanje z API, CLI ali GUI za upravljanje aplikacije.<\/p>\n<p><img decoding=\"async\" alt=\"Kaj je Service Mesh?\" src=\"\/wp-content\/uploads\/2020\/06\/130fe71904f72a76dfe8e8dbc405e498.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Control Plane v Service Mesh porazdeli konfiguracijo med Sidecar Proxy in Data Plane.<\/i><\/p>\n<p>Arhitektura Service Mesh se pogosto uporablja za re\u0161evanje kompleksnih operativnih nalog z uporabo kontejnerjev in mikrostoritev. Pionirji na podro\u010dju <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/blog\/introduction-to-microservices\/\">mikrostoritev<\/a><\/noindex> so podjetja, kot sta Lyft, Netflix in Twitter, ki zagotavljajo zanesljive storitve milijonom uporabnikov po vsem svetu. (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/blog\/microservices-at-netflix-architectural-best-practices\/\">Tukaj lahko najdete podroben opis nekaterih arhitekturnih izzivov, s katerimi se je soo\u010dil Netflix<\/a><\/noindex>). Za manj zahtevne aplikacijske naloge bo verjetno dovolj preprostej\u0161ih arhitektur.<\/p>\n<p>Arhitektura Service Mesh verjetno nikoli ne bo odgovor na vsa vpra\u0161anja, povezana z delovanjem aplikacij in njihovo dostavo. Arhitekti in razvijalci imajo ogromno orodij, in le eno izmed njih \u2014 kladivo, ki bi med mnogimi nalogami moralo re\u0161evati le eno \u2013 zabijati \u017eeblje. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/blog\/introducing-the-nginx-microservices-reference-architecture\/\">Referen\u010dna arhitektura mikrostoritev NGINX<\/a><\/noindex>, na primer, vklju\u010duje ve\u010d razli\u010dnih modelov, ki zagotavljajo neprekinjeno spektrum pristopov k re\u0161evanju nalog s pomo\u010djo mikroservisov.<\/p>\n<p>Elementi, ki se zdru\u017eujejo v arhitekturi Service Mesh, kot so NGINX, kontejnerji, Kubernetes in mikroservisi kot arhitekturni pristop, se lahko prav tako plodno uporabljajo tudi v izvedbah brez Service Mesh. Na primer, Istio je bil razvit kot celovita arhitektura Service Mesh, toda modularnost pomeni, da lahko razvijalci izberejo in uporabijo le tiste komponente tehnologij, ki jih potrebujejo. Ob tem je treba oblikovati jasno predstavo o konceptu Service Mesh, tudi \u010de niste prepri\u010dani, da boste kdaj to lahko polno implementirali v aplikaciji.<\/p>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/UNlX\/\">Modularni monoliti in DDD<\/a><\/noindex><\/p>\n<p>Izvor: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/506916\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0418 \u0441\u043d\u043e\u0432\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435!.. \u0412 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0440\u0442\u0430 \u043a\u0443\u0440\u0441\u0430 \u00ab\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u041f\u041e\u00bb \u043c\u044b \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434. Service Mesh \u2013 \u044d\u0442\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0441 \u043d\u0438\u0437\u043a\u043e\u0439 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043c\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043c\u0435\u0436\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043d\u044b\u0445 \u043a\u043e\u043c\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u0439 \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f (API). Service Mesh \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u0443\u044e, \u043d\u0430\u0434\u0451\u0436\u043d\u0443\u044e \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0443\u044e \u043a\u043e\u043c\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u044e \u043c\u0435\u0436\u0434\u0443 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u0438 \u0447\u0430\u0441\u0442\u043e \u044d\u0444\u0435\u043c\u0435\u0440\u043d\u044b\u043c\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":85698,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-85697","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.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0418 \u0441\u043d\u043e\u0432\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435!..\" \/>\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\/sl\/blog\/administrirovanie\/chto-takoe-service-mesh\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sl_SI\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Service Mesh? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0418 \u0441\u043d\u043e\u0432\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435!..\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sl\/blog\/administrirovanie\/chto-takoe-service-mesh\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-06-18T11:42:52+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-18T11:42: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\udd47Kaj je Service Mesh? | ProHoster","description":"In spet pozdravljeni!..","canonical_url":"https:\/\/prohoster.info\/sl\/blog\/administrirovanie\/chto-takoe-service-mesh","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sl_SI","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Service Mesh? | ProHoster","og:description":"\u0418 \u0441\u043d\u043e\u0432\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435!..","og:url":"https:\/\/prohoster.info\/sl\/blog\/administrirovanie\/chto-takoe-service-mesh","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-06-18T11:42:52+00:00","article:modified_time":"2020-06-18T11:42:52+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"85697","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 14:32:46","updated":"2022-09-28 09:55:06","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/85697","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/comments?post=85697"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/85697\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media\/85698"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media?parent=85697"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/categories?post=85697"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/tags?post=85697"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}