
Note. iwwersat.: Den Auteur vun dësem Artikel (Luc Perkins) ass en Entwéckler Affekot bei der CNCF Organisatioun, déi Heem ass fir sou Open Source Projete wéi Linkerd, SMI (Service Mesh Interface) a Kuma (iwwregens, hutt Dir Iech och gefrot firwat Istio ass net op dëser Lëscht.). Nach eng Kéier probéiert d'DevOps Gemeinschaft e bessert VerstÀndnis vum trendy Hype genannt "Service Mesh" ze bréngen, hie lëscht 16 charakteristesch FÀegkeeten déi sou Léisungen ubidden.
haut â ee vun de wĂ€ermsten Themen am BerĂ€ich vun der Software Engineering (a mat Recht!). Ech mengen dĂ«s Technologie ass onheemlech villverspriechend a gĂ©if gĂ€ren se wĂ€it ugeholl gesinn (wann et natierlech SĂ«nn mĂ©cht). WĂ©i och Ă«mmer, et ass Ă«mmer nach vun enger Aura vu Geheimnis fir dĂ©i meescht Leit Ă«mginn. GlĂ€ichzĂ€iteg och dĂ©i, dĂ©i gutt bekannt domat ass et dacks schwĂ©ier seng Virdeeler ze formulĂ©ieren a wat et genee ass (och Ăr wierklech). An dĂ«sem Artikel probĂ©ieren ech d'Situatioun ze korrigĂ©ieren andeems Dir verschidde oplĂ«scht benotzen FĂ€ll "Service Meshes"*.
* Notiz Iwwersetzung: hei a weider am Artikel gëtt genee dës Iwwersetzung ("Service Mesh") fir den nach neie Begrëff Service Mesh benotzt.
Awer als éischt wëll ech e puer Kommentarer maachen:
- Ech hunn ni mat Service Meshes geschafft oder se ausserhalb vu Projete benotzt fir meng eegen Ausbildung ugefaang. Op der anerer SÀit war ech deen, deen am Joer 2015 eng ganz Rëtsch Dokumentatioun fir den internen Service Mesh vun Twitter geschriwwen huet (et war deemools nach net e "Service Mesh" genannt) an un der Entwécklung vun der WebsÀit an der Dokumentatioun fir , also dat heescht eppes.
- Meng Lëscht ass ongeféier an onkomplett. Et ka gutt BenotzungsfÀll fir mech onbekannt sinn, an nei Optiounen wÀerte méiglecherweis mat der ZÀit entstoen wéi d'Technologie sech entwéckelt a seng Popularitéit wiisst.
- Zur selwechter ZÀit ënnerstëtzt net all existent Service Mesh Implementatioun all déi opgelëscht BenotzungsfÀll. Dofir sollten meng Aussoe wéi "Service Mesh Can ..." als "individuell gelies ginn, a vlÀicht all populÀr Service Mesh Implementatiounen kënnen ...".
- D'Uerdnung vun de Beispiller mĂ©cht keen Ănnerscheed.
Kuerz Lëscht:
- Service Entdeckung;
- Verschlësselung;
- Authentifikatioun an Autorisatioun;
- Belaaschtung;
- Circuit briechen;
- autoscaling;
- Kanaresch Deployementer;
- blo-gréng Détachementer;
- Gesondheet kontrolléieren;
- Belaaschtung;
- Verkéier Spigelen;
- Isolatioun;
- Ufro Taux limitéieren, Retry an Timeouts;
- Telemetrie;
- Audit;
- visualization.
1. Service Entdeckung
TL;DR: Connectéiert mat anere Servicer am Netz mat einfachen Nimm.
D'Servicer solle sech automatesch gĂ©igesĂ€iteg "fannen" mat adequat Nimm - z.B. service.api.production, pets/staging oder cassandra. Cloud Ămfeld sinn elastesch, an een eenzegen Numm kann vill Instanzen vun engem Service verstoppen. Et ass kloer datt an esou enger Situatioun et kierperlech onmĂ©iglech ass all IP Adressen ze hardcode.
Plus, wann ee Service en aneren fënnt, sollt et fÀeg sinn Ufroen un dee Service ze schécken ouni Angscht datt se um Input vu senger gebrochener Instanz ophalen. An anere Wierder, de Service Mesh muss d'Gesondheet vun all Serviceinstanzen iwwerwaachen an d'Lëscht vun den Hosten esou aktuell wéi méiglech halen.
All Service Mesh implementéiert de Service Entdeckungsmechanismus anescht. Am Moment ass déi allgemeng Manéier fir extern Prozesser wéi Kubernetes DNS ze delegéieren. An der Vergaangenheet op Twitter hu mir en Nummsystem fir dësen Zweck benotzt . ZousÀtzlech, Service Mesh Technologie mécht et méiglech fir Benotzerdefinéiert Benennungsmechanismen ze entstoen (obwuel ech nach keng SM-Implementatioun mat esou Funktionalitéit gesinn hunn).
2. Verschlësselung
TL;DR: Gitt vun onverschlësselte Verkéier tëscht Servicer lass a maacht dëse Prozess automatiséiert a skalierbar.
Et ass schĂ©in ze wĂ«ssen datt UgrĂ€ifer net an Ărem internen Netzwierk penetrĂ©iere kĂ«nnen. Firewalls maachen eng super Aarbecht vun dĂ«ser. Awer wat geschitt wann en Hacker dobanne kĂ«nnt? WĂ€ert hien fĂ€eg maache wat e wĂ«ll mam intra-Service Traffic? Loosse mer hoffen, datt dat schliisslech net geschitt. Fir dĂ«st Szenario ze vermeiden, sollt Dir en Nullvertrauensnetz implementĂ©ieren, an deem all Traffic tĂ«scht Servicer verschlĂ«sselt ass. DĂ©i meescht modern Service Meshes erreechen dĂ«st duerch gĂ©igesĂ€iteg (gĂ©igesĂ€itege TLS, mTLS). An e puer FĂ€ll funktionnĂ©iert mTLS a ganz Wolleken a StĂ€rekĂ©ip (ech mengen interplanetaresch Kommunikatioun wĂ€ert iergendwann Ă€hnlech arrangĂ©iert ginn).
Natierlech, fir mTLS Service Mesh gemaach fakultativ. All Service ka sech ëm sÀin eegene TLS këmmeren, awer dëst bedeit datt Dir e Wee muss fannen fir Certificaten ze generéieren, se iwwer Servicehoster ze verdeelen, a Code an der Applikatioun enthalen déi dës Certificaten aus Dateien lued. Jo, vergiesst net dës Certificaten a reegelméissegen OfstÀnn ze erneieren. Service Meshes automatiséieren mTLS mat Systemer wéi , déi am Tour de Prozess vun der Ausstellung an der Rotatioun vun Zertifikater automatiséieren.
3. Authentifikatioun an Autorisatioun
TL;DR: Etabléiert wien den Ufroer ass an definéiert wat se dierfen maachen ier d'Ufro iwwerhaapt de Service erreecht.
Servicer wëllen oft wëssen wien ass mécht d'Ufro (Authentifikatioun), a benotzt dës Informatioun, entscheet dass eng bestëmmten Entitéit ass erlaabt ze maachen (Autorisatioun). An dësem Fall kann de Pronomen "wien" verstoppen:
- Aner Servicer. Dëst gëtt "Authentifikatioun" genannt peer" Zum Beispill, Service
webwëll Zougang zum Service kréiendb. Service Meshes léisen normalerweis esou Probleemer mat mTLS: Certificaten an dësem Fall handelen als néideg Identifizéierer. - E puer mënschlech Benotzer. Dëst gëtt "Authentifikatioun" genannt ufroen" Zum Beispill, Benotzer
haxor69wëll eng nei Luucht kafen. Service Meshes bidden verschidde Mechanismen, z.B. .Vill vun eis hunn dëst am Applikatiounscode gemaach. Eng Demande kënnt an, mir kucken duerch den Dësch
users, Fannt de Benotzer a verglÀicht d'Passwuert, kontrolléiert dann d'Kolonnpermissionsetc. Am Fall vun engem Service Mesh geschitt dat ier d'Ufro iwwerhaapt de Service erreecht.
Wann mir festgestallt hunn, vu wiem d'Ufro koum, musse mir bestĂ«mmen wat dĂ«s EntitĂ©it erlaabt ass ze maachen. E puer Service Meshes erlaaben Iech Basispolitiken ze setzen (iwwer wien wat maache kann) als YAML Dateien oder op der Kommandozeil, anerer bidden Integratioun mat Kaderen wĂ©i . D'ultimativ Zil ass fir Ăr Servicer all Ufro ze akzeptĂ©ieren, sĂ©cher unzehuelen datt et aus enger vertrauter Quell kĂ«nnt Đž dĂ«s Aktioun ass erlaabt.
4. Laascht Equiliber
TL;DR: Verdeelt d'Laascht iwwer Serviceinstanzen no engem spezifesche Muster.
E "Service" an enger Service Sektioun besteet ganz dacks aus villen identesche FÀll. Zum Beispill, haut de Service cache besteet aus 5 Exemplare, a muer kann hir Zuel op 11 klammen. Demandë geschéckt un cache, muss no engem spezifeschen Zweck verdeelt ginn. Zum Beispill, minimiséieren d'Latenz oder maximéiert d'Wahrscheinlechkeet fir an eng Aarbechtsinstans ze kommen. Dee meescht benotzten Algorithmus ass Round-Robin, awer et gi vill anerer - zum Beispill déi gewiicht Method (gewiicht) Ufroen (Dir kënnt gewënschte Ziler auswielen), Ring (ring) hashing (benotzt konsequent Hashing iwwer Upstream Hosten) oder mannst Ufro Method (Preferenz gëtt der Instanz mat de mannste Ufroe ginn).
Klassesch Balancer hunn aner Funktiounen, wĂ©i HTTP-Caching an DDoS-Schutz, awer si sinn net ganz relevant fir den Ost-West-Traffic (dat ass, fir de VerkĂ©ier, deen an engem Datenzenter flĂ©isst - ca. Iwwersetzung) (typesch Ămfang vum Service Mesh). Natierlech ass et net nĂ©ideg e Service Mesh fir LaaschtbalancĂ©ierung ze benotzen, awer et erlaabt Iech BalancĂ©ierungspolitike fir all Service aus enger zentralisĂ©ierter Kontrollschicht ze setzen an ze kontrollĂ©ieren, an doduerch d'Noutwennegkeet eliminĂ©iert fir separat Lastbalancer am Netzstack ze lafen an ze konfigurĂ©ieren. .
5. Circuit gebrach
TL;DR: Stop de Verkéier op de problematesche Service a kontrolléiert de Schued am schlëmmste Fall Szenarie.
Wann aus irgendege GrĂ«nn de Service net mam Traffic eens kann, bitt de Service Mesh verschidde MĂ©iglechkeeten fir dĂ«se Problem ze lĂ©isen (aner gĂ«tt an de passenden Rubriken diskutĂ©iert). Circuit Breaking ass dĂ©i schwĂ©ierst Optioun fir e Service vum Traffic ze trennen. WĂ©i och Ă«mmer, eleng mĂ©cht et kee SĂ«nn - e Backupplang ass nĂ©ideg. RĂ©ckdrock kann zur VerfĂŒgung gestallt ginn () op Servicer dĂ©i Ufroe maachen (vergiesst just net Ăre Service Mesh fir dĂ«st ze konfigurĂ©ieren!), Oder zum Beispill d'StatussĂ€it rout ze faarwen an d'Benotzer op eng aner Versioun vun der SĂ€it mat engem "falende Wal" Ă«mzeweisen ("Twitter ass erof").
Service Meshes erlaben Iech net nëmmen ze definéieren wéini shutdown wÀert verfollegen an dass dëst wÀert duerno. An dësem Fall, "wann" kann all Kombinatioun vun spezifizéierte Parameteren enthalen: d'Gesamtzuel vun Ufroe fir eng gewëssen ZÀit, d'Zuel vun de parallele Verbindungen, pendend Ufroen, aktiv Neiversichten, etc.
Dir wëllt wahrscheinlech keng Circuitbriechung mëssbrauchen, awer et ass flott ze wëssen datt Dir e Backupplang am Noutfall hutt.
6. Autoscaling
TL;DR: Erhéije oder reduzéieren d'Zuel vun de Serviceinstanzen ofhÀngeg vun de spezifizéierte CritÚren.
Service Meshes sinn net Scheduler, sou datt se net ausdroen selwer skaléieren. Wéi och ëmmer, si kënnen Informatioun ubidden iwwer wéi eng Planer hir Entscheedungen baséieren. Zënter Service Meshes hunn Zougang zu all Traffic tëscht Servicer, si hunn extensiv Informatioun iwwer wat geschitt: wéi eng Servicer erliewen Problemer, wéi eng Servicer si ganz liicht gelueden (d'Kapazitéit, déi hinnen zougedeelt ass, gëtt verschwend), etc.
Zum Beispill, Skala Kubernetes Servicer baséiert op Pods 'CPU an Erënnerung Notzung (kuckt eise Bericht ""- ca. Iwwersetzung), awer wann Dir décidéiert fir op all aner Metrik ze skaléieren (an eisem Fall, Verkéiersbezunn), braucht Dir eng speziell Metrik. Gestioun weist wéi dëst ze maachen mat , О , awer de Prozess selwer ass zimlech komplizéiert. Mir wëllen datt de Service Mesh dëst vereinfacht andeems mir eis einfach Konditioune setzen wéi "d'Zuel vun de Serviceinstanzen erhéijen auth, wann d'Zuel vun de pendende Ufroe bannent enger Minutt d'Schwell iwwerschreift."
7. Kanaresch deployment
TL;DR: Test nei Fonctiounen oder Service Versiounen op engem Ănnerdeel vun Benotzer.
Loosst eis soen datt Dir e SaaS Produkt entwĂ©ckelt a wĂ«lles eng cool nei Versioun dovun auszerollen. Dir hutt et an der InszenĂ©ierung getest an et huet super geschafft. MĂ€ et sinn nach bestĂ«mmte Bedenken iwwer hir Verhalen an real Konditiounen. An anere Wierder, Dir musst dĂ©i nei Versioun op echte Probleemer testen ouni d'Vertrauen vum Benotzer ze riskĂ©ieren. Kanaresch Deployementer si super fir dĂ«st. Si erlaben Iech eng nei Feature zu engem Ănnerdeel vun de Benotzer ze demonstrĂ©ieren. DĂ«se Subset kann aus de treiste Benotzer besteet oder dĂ©i, dĂ©i mat der gratis Versioun vum Produkt schaffen, oder Benotzer dĂ©i e Wonsch ausgedrĂ©ckt hunn "MeerschwĂ€in" ze sinn.
Service Meshes implementĂ©ieren dĂ«st andeems Dir CritĂšren spezifizĂ©iere kĂ«nnt, dĂ©i bestĂ«mmen wien dĂ©i Versioun vun der Applikatioun gesĂ€it, an de Traffic deementspriechend routĂ©ieren. Fir d'Servicer selwer Ă€nnert sech awer nĂ€ischt. D'Versioun 1.0 vum Service mengt datt all Ufroe vu Benotzer kommen, dĂ©i et solle gesinn, an d'Versioun 1.1 gleeft d'selwecht fir seng Benotzer. MĂ«ttlerweil kĂ«nnt Dir de Prozentsaz vum Traffic tĂ«scht der aler an der neier Versioun Ă€nneren, eng wuessend Zuel vu Benotzer op dĂ©i nei redirectĂ©ieren, wann et stabil funktionnĂ©iert an Ăr "MeerschwĂ€in" ginn de Go-Ahead.
8. Blo-gréng Détachementer
TL;DR: Roll eng cool nei Feature aus, awer bereet Iech direkt alles zréck ze huelen.
Sinn ass en neien "bloen" Service auszerollen, parallel mam alen "grénge" lancéieren. Wann alles glat geet an den neie Service funktionnéiert gutt, da kann deen alen lues a lues deaktivéiert ginn. (Ach, iergendwann wÀert dësen neie "bloen" Service d'Schicksal vum "gréngen" widderhuelen a verschwannen ...) Blo-gréngen Deployementer ënnerscheede sech vun de Kanaresch an datt déi nei Funktioun deckt jiddereen op eemol Benotzer (net Deel); De Punkt hei ass e "sécheren Hafen" prett ze hunn am Fall wou eppes falsch leeft.
Service Meshes bidden e ganz praktesche Wee fir e "bloen" Service ze testen an direkt op eng funktionéierend "gréng" ze wiesselen am Fall vu Probleemer. Net der Tatsaach ze ernimmen, datt laanscht de Wee vill Informatiounen (kuckt "Telemetrie" ënnendrënner) iwwer d'Aarbecht vun der "blo", déi hëlleft ze verstoen, ob et fir voll Operatioun prett ass.
Note. iwwersat.: Dir kënnt méi iwwer verschidden Deploymentstrategien an Kubernetes liesen (inklusiv déi ernimmt Kanaresch, blo / gréng an anerer) an .
9. Gesondheet kontrolléieren
TL;DR: Verfollegt wéi eng Serviceinstanzen funktionell sinn a reagéiert op déi déi net méi funktionell sinn.
Gesondheetscheck (Gesondheetscheck) hĂ«lleft ze entscheeden ob Service Instanzen prett sinn Traffic ze akzeptĂ©ieren an Prozess. Zum Beispill, am Fall vun HTTP-Servicer, kann e Gesondheetscheck ausgesinn wĂ©i eng GET-Ufro un den Endpunkt /health. Ăntwert 200 OK wĂ€ert heeschen, datt d'Instanz gesond ass, all aner - datt et net prett ass Traffic ze krĂ©ien. Service Meshes erlaben Iech souwuel de Wee ze spezifizĂ©ieren wĂ©i d'FunktionalitĂ©it geprĂ©ift gĂ«tt an d'Frequenz mat dĂ€r dĂ«s Kontroll duerchgefouert gĂ«tt. DĂ«s Informatioun kann dann fir aner Zwecker benotzt ginn - zum Beispill fir Belaaschtung a Circuitbriechung.
Also ass d'Gesondheetskontroll net e Stand-alone Benotzungsfall, awer gĂ«tt normalerweis benotzt fir aner Ziler z'erreechen. Och, ofhĂ€ngeg vun de Resultater vun de GesondheetsprĂŒfungen, kĂ«nnen Handlungen extern zu anere Service Mesh Ziler erfuerderlech sinn: zum Beispill d'StatussĂ€it aktualisĂ©ieren, en Thema op GitHub erstellen oder e JIRA Ticket ausfĂ«llen. A Service Mesh bitt e praktesche Mechanismus fir dat alles ze automatisĂ©ieren.
10. Belaaschtung
TL;DR: Redirect Traffic als Ăntwert op eng temporĂ€r Spike am Gebrauch.
Wann e bestëmmte Service mat Traffic iwwerlaascht ass, kënnt Dir e puer vun dësem Traffic temporÀr op eng aner Plaz redirectéieren (dat ass "dump", "transfer" (Schapp) hien do). Zum Beispill, zu engem Backupsatellit Service oder Daten Zentrum, oder zu engem permanent Thema. Als Resultat wÀert de Service weider e puer Ufroe veraarbecht anstatt alles ofzeschléissen an ze stoppen. D'Belaaschtung ass léiwer wéi de Circuit ze briechen, awer et ass nach ëmmer net unzeroden et ze mëssbrauchen. Et hëlleft Kaskadfehler ze vermeiden, déi Downstream Servicer verursaachen.
11. Verkéier parallelization / Spigelen
TL;DR: Schéckt eng Ufro op e puer Plazen glÀichzÀiteg.
Heiansdo gëtt et e Besoin fir eng Ufro (oder eng gewësse Selektioun vun Ufroen) un e puer Servicer glÀichzÀiteg ze schécken. En typescht Beispill ass en Deel vum Produktiounsverkéier un e Staging Service ze schécken. Den Haaptproduktiounswebserver schéckt eng Ufro un den Downstream Service products.production an nëmmen him. An de Service Mesh kopéiert dës Ufro intelligent a schéckt se un products.staging, wat de Webserver net emol bewosst ass.
En anere verbonne Service Mesh Benotzungsfall deen uewen op Traffic Paralleliséierung ëmgesat ka ginn ass . Et handelt sech ëm déiselwecht Ufroe fir verschidde Versioune vum Service ze schécken an ze kontrolléieren ob all Versiounen d'selwecht behuelen. Ech sinn nach net mat engem Service Mesh Implementatioun mat engem integréierte Regressiounstestsystem wéi , mee d'Iddi selwer schéngt villverspriechend.
12. Isolatioun
TL;DR: Break Ăre Service Mesh a Mini-Netzwierker.
Och bekannt als SegmentatiounIsolatioun ass d'Konscht fir e Servicemesh a logesch Ă«nnerschiddlech Segmenter opzedeelen dĂ©i nĂ€ischt iwwerenee wĂ«ssen. Isolatioun ass e bĂ«sse wĂ©i virtuell privat Netzwierker ze kreĂ©ieren. De fundamentalen Ănnerscheed ass datt Dir Ă«mmer nach all d'Virdeeler vun engem Service Mesh genĂ©isst (wĂ©i Service Entdeckung), awer mat zousĂ€tzlech SĂ©cherheet. Zum Beispill, wann en UgrĂ€ifer et fĂ€erdeg brĂ©ngt e Service an engem vun den Ănnernetzer z'erreechen, wĂ€ert hien net fĂ€eg sinn ze gesinn wĂ©i eng Servicer op anere Subnetzer lafen oder hiren Traffic ofbriechen.
ZousĂ€tzlech kĂ«nnen d'Virdeeler och organisatoresch sinn. Dir wĂ«llt Ăr Servicer op Basis vun Ărer Firmastruktur subnetĂ©ieren an d'EntwĂ©ckler vun der kognitiver Laascht entlaaschten fir de ganze Servicemesh am Kapp ze halen.
13. Ufro Taux limitéieren, retries an timeouts
TL;DR: Dir braucht net mĂ©i dĂ©i nitty-gritty Ufro Gestioun Aufgaben an Ărer Codebase abegraff.
All dës Saache kéinten als separat BenotzungsfÀll ugesi ginn, awer ech hunn decidéiert se ze kombinéieren wéinst enger gemeinsamer Feature: si iwwerhuelen d'Ufro Lifecycle Management Aufgaben, déi typesch vun Applikatiounsbibliothéiken gehandhabt ginn. Wann Dir e Webserver am Ruby on Rails entwéckelt (net mat engem Service Mesh integréiert) deen Ufroe fir Backend Servicer iwwer , d'Applikatioun muss entscheeden wat ze maachen wann N Ufroe feelen. Dir musst och erausfannen wéi vill Traffic dës Servicer fÀeg sinn dës Parameteren mat enger spezieller Bibliothéik ze veraarbechten an ze hardcodéieren. Plus, d'Applikatioun muss entscheeden wéini et ZÀit ass opzeginn an d'Ufro ausléisen (baséiert op Timeout). A fir eng vun den uewe genannte Parameteren z'Ànneren, muss de Webserver gestoppt ginn, nei konfiguréiert an erëm gestart ginn.
DĂ«s Aufgaben op e Service Mesh eroflueden heescht net nĂ«mmen datt Service EntwĂ©ckler net iwwer si mussen nodenken, awer och datt se op eng mĂ©i global ManĂ©ier kĂ«nne gekuckt ginn. Wann eng komplex Kette vu Servicer benotzt gĂ«tt, soen A -> B -> C -> D -> E, muss de ganze Liewenszyklus vun der Ufro berĂŒcksichtegt ginn. Wann d'Aufgab ass d'Timeouts am Service C ze verlĂ€ngeren, ass et logesch dĂ«st alles glĂ€ichzĂ€iteg ze maachen, an net an Deeler: andeems Dir de Servicecode aktualisĂ©iert a waart bis d'Pull-Ufro akzeptĂ©iert gĂ«tt an de CI System den aktualisĂ©ierten Service ofsetzt.
14. Telemetrie
TL;DR: Sammelt all néideg (an net ganz) Informatioune vu Servicer.
Telemetrie ass en allgemenge Begrëff deen Metriken, verdeelt Tracing a Logbicher enthÀlt. Service Meshes bidden Mechanismen fir all drÀi Zorte vun Daten ze sammelen an ze veraarbecht. Dëst ass wou d'Saachen e bësse blurry ginn, well d'Zuel vu méiglechen Optiounen ze grouss ass. Fir Metriken ze sammelen gëtt et an aner Tools déi benotzt kënne fir Logbicher ze sammelen , , an anerer. (zum Beispill ClickHouse mat eisem fir K8s - ca. Iwwersetzung), fir verdeelt Tracing gëtt et a sou weider. All Service Mesh kann e puer Tools ënnerstëtzen an net anerer. Et wÀert interessant sinn ze gesinn, ob de Projet kann eng Konvergenz ubidden.
An dĂ«sem Fall ass de Virdeel vun der Service Mesh Technologie datt Sidecar Container am Prinzip all dĂ©i uewe genannte DonnĂ©eĂ«n aus hire Servicer sammelen. An anere Wierder, Dir hutt en eenzegen Telemetrie Sammelsystem zur VerfĂŒgung, an de Service Mesh kann all dĂ«s Informatioun op verschidde ManĂ©iere veraarbechten. Zum Beispill:
- SchwÀif Logbicher vun engem bestëmmte Service am CLI;
- Monitor de Volume vun Ufroe vum Service Mesh Dashboard;
- sammelen verdeelt Spuren a weiderginn hinnen zu engem System wéi Jaeger.
Opgepasst, subjektiv Uerteel: Allgemeng ass Telemetrie e Gebitt an deem staark Interferenz vum Service Mesh onerwënscht ass. Basisinformatioun sammelen an on-the-fly e puer gëllene Metriken wéi Ufro Erfollegsquote a Latenz verfollegen ass gutt, awer loosst eis hoffen datt mir Frankenstein Stacks net gesinn entstinn déi probéieren spezialiséiert Systemer ze ersetzen, e puer vun deenen sech scho bewisen a gutt studéiert hunn .
15. Audit
TL;DR: Déi, déi d'Lektioune vun der Geschicht vergiessen, sinn veruerteelt se ze widderhuelen.
Audit ass d'Konscht fir wichteg Eventer an engem System ze observéieren. Am Fall vun engem Service Mesh, kann dat bedeiten Tracking wien Ufroe fir spezifesch Endpunkte fir spezifesch Servicer gemaach hunn, oder wéi oft e Sécherheetsbezunnen Event am leschte Mount geschitt ass.
Et ass kloer datt Audit ganz enk mat Telemetrie verbonnen ass. Den Ănnerscheed ass datt Telemetrie normalerweis mat Saachen wĂ©i ProduktivitĂ©it an technescher IntegritĂ©it assoziĂ©iert ass, wĂ€hrend Audit kann op juristesch an aner Themen bezĂ©ien dĂ©i iwwer dĂ©i strikt technesch SphĂ€r goen (zum Beispill d'KonformitĂ©it mam GDPR - d'EU General Regulation on Dateschutz).
16. Virschau
TL;DR: Vive React.js - eng onendlech Quell vu flotten Interfaces.
Et gëtt vlÀicht e bessere Begrëff, awer ech weess et net. Ech mengen einfach eng grafesch Representatioun vun engem Service Mesh oder e puer vu senge Komponenten. Dës Visualiséierunge kënnen Indikatoren enthalen wéi duerchschnëttlech Latenzen, Sidecar Konfiguratiounsinformatioun, Gesondheetscheckresultater an Alarmer.
An engem serviceorientĂ©ierten Ămfeld schaffen involvĂ©iert eng vill mĂ©i hĂ©ich kognitiv Belaaschtung am Verglach zu Seng MajestĂ©it de Monolith. Dofir sollt de kognitiven Drock op all KĂ€schten reduzĂ©iert ginn. Eng einfach grafesch Interface fir e Service Mesh mat der FĂ€egkeet fir op e KnĂ€ppchen ze klicken an dat gewĂ«nschte Resultat ze krĂ©ien kĂ©int entscheedend sinn fir de Wuesstum vun der PopularitĂ©it vun dĂ«ser Technologie.
War net an der Lëscht abegraff
Ech wollt ursprénglech e puer méi BenotzungsfÀll an der Lëscht enthalen, awer hunn dunn decidéiert net. Hei sinn se, zesumme mat de Grënn fir meng Entscheedung:
- Multi-Datenzentrum. Menger Meenung no ass dëst net sou vill e Benotzungsfall wéi e schmuel a spezifescht Gebitt vun der Applikatioun vu Service Meshes oder e puer Set vu Funktiounen wéi Service Entdeckung.
- Ingress an Ausgang. Dëst ass e verwandte BerÀich, awer ech hunn mech limitéiert (vlÀicht kënschtlech) zum "Ost-West Traffic" Benotzungsfall. Ingress an Egress verdéngen en separaten Artikel.
Konklusioun
Dat ass alles fir elo! Elo ass dës Lëscht ganz arbitrÀr a wahrscheinlech onkomplett. Wann Dir mengt datt ech eppes verpasst hunn oder eppes falsch hunn, da kontaktéiert mech w.e.g. op Twitter (). Respektéiert w.e.g. d'Regele vun der AnstÀnnegkeet.
PS vum Iwwersetzer
D'Titelillustratioun fir den Artikel baséiert op engem Bild aus dem Artikel ""(vum Gregory MacKinnon). Et weist wéi e puer Funktionalitéit vun Uwendungen (am gréngen) an e Service Mesh geplënnert ass, deen Interconnections tëscht hinnen ubitt (am blo).
Liest och op eisem Blog:
- «";
- «";
- «".
Source: will.com
