
Nota. transl.: Ang tagsulat niining artikuloha (Luc Perkins) usa ka tigpasiugda sa developer sa organisasyon sa CNCF, nga maoy pinuy-anan sa maong mga proyekto sa Open Source sama sa Linkerd, SMI (Service Mesh Interface) ug Kuma (sa laing bahin, nahibulong ka ba usab nganong si Istio mao ang wala sa kini nga lista?.). Sa makausa pa misulay sa pagdala sa komunidad sa DevOps og mas maayong pagsabot sa uso nga hype nga gitawag og "service mesh", iyang gilista ang 16 ka mga kapabilidad sa kinaiya nga gihatag sa maong mga solusyon.
Karon ― usa sa pinakainit nga mga topiko sa natad sa software engineering (ug sakto!). Sa akong hunahuna kini nga teknolohiya hilabihan ka saad ug gusto nga makita kini nga kaylap nga gisagop (kung kini makatarunganon, siyempre). Bisan pa, kini gilibutan gihapon sa usa ka aura sa misteryo alang sa kadaghanan sa mga tawo. Sa samang higayon, bisan kadtong kinsa ilado kaayo uban niini, kasagaran lisud isulti ang mga bentaha niini ug kung unsa gyud kini (lakip na ang imong tinuod). Sa niini nga artikulo ako mosulay sa pagtul-id sa sitwasyon pinaagi sa paglista sa lain-laing mga kaso sa paggamit "mga service meshes"*.
* Matikdi transl.: dinhi ug dugang pa sa artikulo eksakto kini nga hubad (“service mesh”) gamiton alang sa bag-o pa nga termino nga service mesh.
Apan una gusto nako maghimo pipila ka mga komento:
- Wala pa ako nagtrabaho sa mga service meshes o gigamit kini sa gawas sa mga proyekto nga gisugdan alang sa akong kaugalingon nga edukasyon. Sa laing bahin, ako ang usa nga nagsulat sa usa ka hugpong sa dokumentasyon alang sa internal nga serbisyo sa Twitter sa 2015 (wala pa gani kini gitawag nga "serbisyo nga mesh" kaniadto) ug miapil sa pagpalambo sa website ug dokumentasyon alang sa , mao nga adunay kahulogan.
- Ang akong listahan kay gibanabana ug dili kompleto. Mahimong adunay mga kaso sa paggamit nga wala nako nahibal-an, ug ang mga bag-ong kapilian lagmit nga moabut sa paglabay sa panahon samtang ang teknolohiya nag-uswag ug ang pagkapopular niini.
- Sa parehas nga oras, dili tanan nga naglungtad nga pagpatuman sa mesh sa serbisyo nagsuporta sa tanan nga nalista nga mga kaso sa paggamit. Busa, ang akong mga pahayag sama sa "service mesh can ..." kinahanglan basahon nga "indibidwal, ug tingali ang tanan nga popular nga service mesh nga pagpatuman mahimo...".
- Ang han-ay sa mga pananglitan walay kalainan.
Mubo nga listahan:
- pagdiskobre sa serbisyo;
- pag-encrypt;
- authentication ug pagtugot;
- pagbalanse sa load;
- pagbungkag sa sirkito;
- autoscaling;
- pag-deploy sa canary;
- asul-berde nga pag-deploy;
- pagsusi sa panglawas;
- pag-ula sa load;
- pagsalamin sa trapiko;
- pagbulag;
- hangyo nga limitahan sa rate, pagsulay pag-usab ug mga timeout;
- telemetry;
- audit;
- paghanduraw.
1. Pagdiskobre sa serbisyo
TL; DR: Pagkonektar sa ubang mga serbisyo sa network gamit ang yano nga mga ngalan.
Ang mga serbisyo kinahanglan nga awtomatiko nga "pangitaon" ang usag usa gamit ang igo nga mga ngalan - pananglitan, service.api.production, pets/staging o cassandra. Ang mga cloud environment kay elastic, ug ang usa ka ngalan makatago sa daghang mga higayon sa usa ka serbisyo. Kini mao ang tin-aw nga sa ingon nga usa ka sitwasyon kini sa pisikal nga imposible sa hardcode sa tanan nga mga IP adres.
Dugang pa, kung ang usa ka serbisyo nakakaplag ug lain, kinahanglan nga makapadala kini mga hangyo sa kana nga serbisyo nga wala’y kahadlok nga kini matapos sa input sa naguba nga pananglitan niini. Sa laing pagkasulti, ang service mesh kinahanglan nga magmonitor sa kahimsog sa tanan nga mga higayon sa serbisyo ug ipadayon ang lista sa mga host nga labing bag-o kutob sa mahimo.
Ang matag service mesh nag-implementar sa mekanismo sa pagdiskubre sa serbisyo sa lahi nga paagi. Sa pagkakaron, ang labing kasagarang paagi mao ang pagdelegar sa mga eksternal nga proseso sama sa Kubernetes DNS. Kaniadto sa Twitter migamit kami og sistema sa pagngalan alang niini nga katuyoan . Dugang pa, ang teknolohiya sa serbisyo sa mesh nagpaposible sa mga mekanismo sa custom nga pagngalan nga motumaw (bisan tuod wala pa ako makakita sa bisan unsa nga pagpatuman sa SM nga adunay ingon nga gamit).
2. Pag-encrypt
TL; DR: Isalikway ang wala ma-encrypt nga trapiko tali sa mga serbisyo ug himoa kini nga proseso nga awtomatiko ug scalable.
Nindot nga mahibal-an nga ang mga tig-atake dili makasulod sa imong internal nga network. Ang mga firewall makahimo og maayo nga trabaho niini. Apan unsa ang mahitabo kung ang usa ka hacker makasulod? Mahimo ba niya ang bisan unsang gusto niya sa intra-service nga trapiko? Hinaot nga dili kini mahitabo human sa tanan. Aron mapugngan kini nga senaryo, kinahanglan nimo nga ipatuman ang usa ka network nga zero-trust diin ang tanan nga trapiko tali sa mga serbisyo gi-encrypt. Kadaghanan sa mga modernong serbisyo nga mga meshes nakab-ot kini pinaagi sa usag usa (mutual TLS, mTLS). Sa pipila ka mga kaso, ang mTLS naglihok sa tibuok nga mga panganod ug mga pungpong (sa akong hunahuna ang interplanetary nga mga komunikasyon sa umaabut nga adlaw mahikay nga parehas).
Siyempre, alang sa mTLS service mesh kapilian. Ang matag serbisyo mahimong mag-atiman sa kaugalingon nga TLS, apan kini nagpasabut nga kinahanglan nimo nga mangita usa ka paagi aron makamugna mga sertipiko, ipang-apod-apod kini sa mga host sa serbisyo, ug ilakip ang code sa aplikasyon nga magkarga niini nga mga sertipiko gikan sa mga file. Oo, ayaw kalimti ang pagbag-o sa kini nga mga sertipiko sa kanunay nga mga agwat. Ang mga service meshes nag-automate sa mTLS nga adunay mga sistema sama , nga, sa baylo, awtomatiko ang proseso sa pag-isyu ug pag-rotate sa mga sertipiko.
3. Pagpamatuod ug pagtugot
TL; DR: I-establisar kung kinsa ang nangayo ug ipasabut kung unsa ang gitugotan nila nga buhaton sa wala pa maabot ang hangyo sa serbisyo.
Ang mga serbisyo kanunay gusto nga mahibal-an kinsa naghimo sa hangyo (authentication), ug sa paggamit niini nga impormasyon, modesisyon nga ang usa ka gihatag nga entidad gitugotan sa pagbuhat (awtorisasyon). Niini nga kaso, ang pronombre nga "kinsa" makatago:
- Ubang mga serbisyo. Gitawag kini nga "authentication" kauban" Pananglitan, serbisyo
webgusto nga maka-access sa serbisyodb. Ang mga service meshes kasagarang makasulbad sa maong mga problema gamit ang mTLS: ang mga sertipiko niini nga kaso naglihok isip gikinahanglan nga identifier. - Ang ubang mga tawo nga tiggamit. Gitawag kini nga "authentication" hangyo" Pananglitan, user
haxor69gusto mupalit ug bag-ong lampara. Ang mga service meshes naghatag og lain-laing mga mekanismo, e.g. .Daghan kanato ang nakahimo niini sa code sa aplikasyon. Misulod ang usa ka hangyo, gitan-aw namo ang lamesa
users, pangitaa ang tiggamit ug itandi ang password, unya susiha ang kolumpermissionsug uban pa. Sa kaso sa usa ka service mesh, kini mahitabo sa wala pa ang hangyo makaabot sa serbisyo.
Kung maestablisar na namo kung kinsa ang hangyo gikan, kinahanglan namon nga mahibal-an kung unsa ang gitugotan nga buhaton sa kini nga entidad. Ang ubang mga service meshes nagtugot kanimo sa pagtakda sa mga batakang polisiya (mahitungod kung kinsa ang makahimo kung unsa) isip mga file sa YAML o sa command line, samtang ang uban nagtanyag og integration sa mga frameworks sama sa . Ang katapusang tumong mao nga ang imong mga serbisyo modawat sa bisan unsa nga hangyo, luwas nga nagtuo nga kini gikan sa kasaligang tinubdan и kini nga aksyon gitugutan.
4. Pagbalanse sa load
TL; DR: I-apod-apod ang load sa mga higayon sa serbisyo sumala sa usa ka piho nga sumbanan.
Ang usa ka "Serbisyo" sulod sa usa ka seksyon sa serbisyo kanunay nga naglangkob sa daghang parehas nga mga higayon. Pananglitan, karon ang serbisyo cache naglangkob sa 5 ka kopya, ug ugma ang ilang gidaghanon mahimong mosaka ngadto sa 11. Ang mga hangyo gipadala ngadto sa cache, kinahanglang iapud-apod sumala sa espesipikong katuyoan. Pananglitan, aron maminusan ang latency o i-maximize ang posibilidad nga makaadto sa usa ka nagtrabaho nga pananglitan. Ang labing sagad nga gigamit nga algorithm mao ang Round-robin, apan adunay daghan pa - pananglitan, ang gibug-aton nga pamaagi (gitimbang) mga pangutana (mahimo nimong pilion ang gusto nga mga target), singsing (singsing) hashing (gamit ang makanunayon nga pag-hash sa mga upstream host) o labing gamay nga pamaagi sa paghangyo (gihatag ang gusto sa pananglitan nga adunay labing gamay nga hangyo).
Ang mga classic balancer adunay uban nga mga gimbuhaton, sama sa HTTP caching ug proteksyon sa DDoS, apan kini dili kaayo angay alang sa silangan-kasadpan nga trapiko (nga mao, alang sa trapiko nga nagdagayday sulod sa usa ka data center - gibanabana. transl.) (tipikal nga sakup sa service mesh). Siyempre, dili kinahanglan nga mogamit usa ka serbisyo nga mesh alang sa pagbalanse sa load, apan gitugotan ka nga magtakda ug makontrol ang mga palisiya sa pagbalanse alang sa matag serbisyo gikan sa usa ka sentralisadong control layer, sa ingon mawagtang ang panginahanglan sa pagdagan ug pag-configure sa lainlaing mga balanse sa pagkarga sa stack sa network. .
5. Pagputol sa sirkito
TL; DR: Hunonga ang trapiko sa problema nga serbisyo ug kontrola ang kadaot sa labing grabe nga mga senaryo.
Kung sa usa ka hinungdan ang serbisyo dili makasagubang sa trapiko, ang serbisyo nga mesh naghatag daghang mga kapilian alang sa pagsulbad niini nga problema (ang uban hisgutan sa angay nga mga seksyon). Ang pagsira sa circuit mao ang labing grabe nga kapilian sa pagdiskonekta sa usa ka serbisyo gikan sa trapiko. Bisan pa, sa iyang kaugalingon dili kini makatarunganon - gikinahanglan ang usa ka backup nga plano. Mahimong ihatag ang back pressure () sa mga serbisyo nga nangayo (ayaw lang kalimot sa pag-configure sa imong service mesh para niini!), o, pananglitan, pagkolor og pula sa status page ug pag-redirect sa mga user ngadto sa laing bersyon sa page nga adunay “falling whale” (“Ang Twitter kay ubos”).
Ang mga meshes sa serbisyo dili lamang nagtugot kanimo sa paghubit kanus-a musunod ang shutdown ug nga kini mosunod. Sa kini nga kaso, ang "kanus-a" mahimong maglakip sa bisan unsang kombinasyon sa mga espesipikong mga parameter: ang kinatibuk-ang gidaghanon sa mga hangyo alang sa usa ka piho nga panahon, ang gidaghanon sa parallel nga koneksyon, pending nga mga hangyo, aktibo nga pagsulay, ug uban pa.
Tingali dili nimo gusto nga abusuhan ang pagsira sa circuit, apan nindot mahibal-an nga adunay ka backup nga plano kung adunay emerhensya.
6. Autoscaling
TL; DR: Pagdugang o pagkunhod sa gidaghanon sa mga higayon sa serbisyo depende sa gipiho nga pamatasan.
Ang mga service meshes dili mga scheduler, mao nga dili ipatuman pag-scale sa imong kaugalingon. Bisan pa, makahatag sila og kasayuran kung unsang mga tigplano ang magbase sa ilang mga desisyon. Tungod kay ang mga service meshes adunay access sa tanan nga trapiko sa taliwala sa mga serbisyo, sila adunay daghang kasayuran bahin sa kung unsa ang nahitabo: kung unsang mga serbisyo ang nakasinati mga problema, kung unsang mga serbisyo ang gaan kaayo nga gikarga (ang kapasidad nga gigahin sa kanila nausik), ug uban pa.
Pananglitan, ang Kubernetes nagtimbang sa mga serbisyo base sa CPU ug paggamit sa memorya sa mga pod (tan-awa ang among report ""- gibanabana. transl.), apan kung magdesisyon ka nga mag-scale base sa bisan unsang ubang sukatan (sa among kaso, may kalabotan sa trapiko), kinahanglan nimo ang usa ka espesyal nga sukatan. Pagdumala nagpakita kon sa unsang paagi sa pagbuhat niini uban sa , и , pero ang proseso mismo medyo komplikado. Gusto namon nga ang service mesh nga pasimplehon kini pinaagi sa pagtugot kanamo sa yano nga pagtakda sa mga kondisyon sama sa "pagdugang sa gidaghanon sa mga higayon sa serbisyo. auth, kung ang gidaghanon sa pending nga mga hangyo molapas sa threshold sulod sa usa ka minuto."
7. Canary deployments
TL; DR: Sulayi ang bag-ong mga bahin o mga bersyon sa serbisyo sa usa ka subset sa mga tiggamit.
Ingnon ta nga nagpalambo ka usa ka produkto sa SaaS ug nagtinguha nga ilunsad ang usa ka cool nga bag-ong bersyon niini. Gisulayan nimo kini sa dula ug kini nagtrabaho nga maayo. Apan adunay mga piho nga mga kabalaka bahin sa iyang pamatasan sa tinuud nga mga kahimtang. Sa ato pa, kinahanglan nimo nga sulayan ang bag-ong bersyon sa tinuud nga mga problema nga wala’y peligro ang pagsalig sa tiggamit. Ang mga pag-deploy sa canary maayo alang niini. Gitugotan ka nila nga ipakita ang usa ka bag-ong bahin sa usa ka subset sa mga tiggamit. Kini nga subset mahimong naglangkob sa labing maunongon nga tiggamit o kadtong nagtrabaho sa libre nga bersyon sa produkto, o mga tiggamit nga nagpahayag sa tinguha nga mahimong "guinea pig".
Gipatuman kini sa mga service meshes pinaagi sa pagtugot kanimo sa pagpiho sa mga pamatasan nga magtino kung kinsa ang makakita kung unsang bersyon sa aplikasyon, ug pagruta sa trapiko sumala niana. Bisan pa, wala’y pagbag-o alang sa mga serbisyo mismo. Ang Bersyon 1.0 sa serbisyo nagtuo nga ang tanan nga mga hangyo gikan sa mga tiggamit nga kinahanglan makakita niini, ug ang bersyon 1.1 nagtuo nga parehas alang sa mga tiggamit niini. Sa kasamtangan, mahimo nimong usbon ang porsyento sa trapiko tali sa daan ug bag-ong mga bersyon, nga mag-redirect sa nagkadaghang mga tiggamit ngadto sa bag-o kung kini molihok nga lig-on ug ang imong "guinea pigs" mohatag sa pagpadayon.
8. Asul-berde nga pagdeploy
TL; DR: Ilunsad ang usa ka cool nga bag-ong bahin, apan pag-andam nga ibalik dayon ang tanan.
Kahulogan mao ang paglusad sa usa ka bag-ong "asul" nga serbisyo, paglansad niini nga susama sa daan, "berde" nga usa. Kung ang tanan hapsay ug ang bag-ong serbisyo maayo ang nahimo, nan ang daan mahimong anam-anam nga ma-disable. (Alaot, sa umaabot nga adlaw kining bag-ong serbisyo nga "asul" magsubli sa kapalaran sa usa nga "berde" ug mawala ...) Ang mga pag-deploy sa asul-berde lahi sa mga canary tungod kay ang bag-ong function naglangkob tanan sa usa ka higayon tiggamit (dili bahin); Ang punto dinhi mao ang pag-andam sa usa ka "luwas nga pantalan" kung adunay mahitabo nga sayup.
Ang mga service meshes nagtanyag usa ka kombenyente nga paagi aron masulayan ang usa ka "asul" nga serbisyo ug dayon ibalhin sa usa ka nagtrabaho nga "berde" kung adunay mga problema. Wala pay labot ang kamatuoran nga sa dalan naghatag sila og daghang impormasyon (tan-awa ang "Telemetry" sa ubos) mahitungod sa buhat sa "asul", nga makatabang sa pagsabut kon kini andam na ba alang sa bug-os nga operasyon.
Nota. transl.: Makabasa ka og dugang mahitungod sa lain-laing mga estratehiya sa pagdeploy sa Kubernetes (lakip ang gihisgutan nga canary, blue/green ug uban pa) sa .
9. Pagsusi sa panglawas
TL; DR: Pagsubay kung unsang mga serbisyo sa serbisyo ang magamit ug tubag sa mga dili na magamit.
Pagsusi sa panglawas (pagsusi sa panglawas) makatabang sa pagdesisyon kung ang mga instance sa serbisyo andam na nga modawat ug magproseso sa trapiko. Pananglitan, sa kaso sa mga serbisyo sa HTTP, ang usa ka pagsusi sa kahimsog mahimong tan-awon sama sa usa ka GET nga hangyo sa katapusan nga punto /health. Tubag 200 OK nagpasabot nga ang instance himsog, bisan unsa pa - nga kini dili andam sa pagdawat sa trapiko. Gitugotan ka sa mga meshes sa serbisyo nga ipiho ang paagi kung diin susihon ang pag-andar ug ang kasubsob nga himuon kini nga pagsusi. Mahimong gamiton kini nga impormasyon alang sa ubang mga katuyoan - pananglitan, alang sa pagbalanse sa load ug pagsira sa sirkito.
Busa, ang mga pagsusi sa kahimsog dili usa ka stand-alone nga kaso sa paggamit, apan kasagaran gigamit aron makab-ot ang ubang mga katuyoan. Usab, depende sa mga resulta sa mga pagsusi sa panglawas, ang mga aksyon sa gawas (kalambigit sa ubang mga target sa serbisyo sa mesh) mahimong gikinahanglan: pananglitan, pag-update sa status page, paghimo og isyu sa GitHub, o pagpuno sa JIRA ticket. Ug ang service mesh nagtanyag usa ka kombenyente nga mekanismo aron ma-automate kining tanan.
10. Pag-ula sa load
TL; DR: I-redirect ang trapiko agig tubag sa usa ka temporaryo nga pagtaas sa paggamit.
Kung ang usa ka serbisyo napuno sa trapiko, mahimo nimong temporaryo nga i-redirect ang pipila niini nga trapiko sa laing lokasyon (nga mao, "dump", "transfer" (shed) didto siya). Pananglitan, sa usa ka backup nga serbisyo o data center, o sa usa ka permanente hilisgutan. Ingon usa ka sangputanan, ang serbisyo magpadayon sa pagproseso sa pipila nga mga hangyo imbis nga mag-crash ug mohunong sa pagproseso sa tanan. Ang pag-ula sa load mas maayo kay sa pagguba sa sirkito, apan dili gihapon maayo nga abusaran kini. Nakatabang kini nga malikayan ang mga kapakyasan sa pag-cascade nga hinungdan sa pagkahagsa sa mga serbisyo sa ubos.
11. Parallelization/mirroring sa trapiko
TL; DR: Pagpadala usa ka hangyo sa daghang mga lugar sa usa ka higayon.
Usahay adunay kinahanglan nga magpadala usa ka hangyo (o usa ka piho nga pagpili sa mga hangyo) sa daghang mga serbisyo sa usa ka higayon. Usa ka tipikal nga pananglitan mao ang pagpadala bahin sa trapiko sa produksiyon sa usa ka serbisyo sa dula. Ang nag-unang produksiyon sa web server nagpadala usa ka hangyo sa downstream nga serbisyo products.production ug kaniya lamang. Ug ang service mesh intelihenteng nagkopya niini nga hangyo ug ipadala kini sa products.staging, nga wala gani mahibalo ang web server.
Laing may kalabutan nga serbisyo sa mata sa paggamit kaso nga mahimong ipatuman sa ibabaw sa trapiko parallelization mao . Naglakip kini sa pagpadala sa parehas nga mga hangyo sa lainlaing mga bersyon sa serbisyo ug pagsusi kung parehas ba ang tanan nga mga bersyon. Wala pa ako makit-an ang usa ka pagpatuman sa serbisyo sa mesh nga adunay usa ka integrated regression testing system sama , apan ang ideya mismo morag nagsaad.
12. Pagbulag
TL; DR: Bungkaga ang imong service mesh ngadto sa mini-networks.
Nailhan usab nga pagbahinbahinAng pag-inusara mao ang arte sa pagbahin sa usa ka service mesh sa lohikal nga lahi nga mga bahin nga wala’y nahibal-an bahin sa usag usa. Ang pag-inusara usa ka gamay nga sama sa paghimo og virtual nga pribadong network. Ang sukaranan nga kalainan mao nga mahimo nimong matagamtam ang tanan nga mga benepisyo sa usa ka mesh sa serbisyo (sama sa pagkadiskobre sa serbisyo), apan adunay dugang nga seguridad. Pananglitan, kung ang usa ka tig-atake nakahimo sa pagsulod sa usa ka serbisyo sa usa sa mga subnet, dili niya makita kung unsang mga serbisyo ang nagdagan sa ubang mga subnet o makapugong sa ilang trapiko.
Dugang pa, ang mga benepisyo mahimo usab nga organisasyonal. Mahimo nimong i-subnet ang imong mga serbisyo base sa istruktura sa imong kompanya ug mahupay ang mga nag-develop sa kabug-at sa panghunahuna nga kinahanglan ibutang sa hunahuna ang tibuuk nga serbisyo.
13. Paghangyo nga limitahan ang rate, pagsulay pag-usab ug mga timeout
TL; DR: Dili na nimo kinahanglan nga ilakip ang mga buluhaton sa pagdumala sa hangyo sa hangyo sa imong codebase.
Kining tanan nga mga butang mahimong makonsiderar nga bulag nga mga kaso sa paggamit, apan nakahukom ko nga ikombinar kini tungod sa usa ka komon nga bahin: sila ang mopuli sa hangyo nga mga buluhaton sa pagdumala sa lifecycle nga kasagarang gidumala sa mga librarya sa aplikasyon. Kung nag-develop ka usa ka web server sa Ruby on Rails (wala gisagol sa usa ka mesh sa serbisyo) nga naghangyo nga mag-backend sa mga serbisyo pinaagi sa , ang aplikasyon kinahanglang magdesisyon kon unsay buhaton kon mapakyas ang N hangyo. Kinahanglan mo usab nga mahibal-an kung pila ang trapiko nga mahimo sa kini nga mga serbisyo nga maproseso ug i-hardcode kini nga mga parameter gamit ang usa ka espesyal nga librarya. Dugang pa, ang aplikasyon kinahanglan nga magdesisyon kung kanus-a ang oras sa pag-undang ug tugotan ang hangyo nga mapakyas (base sa timeout). Ug aron mabag-o ang bisan unsang mga parameter sa ibabaw, ang web server kinahanglan nga hunongon, i-configure ug magsugod pag-usab.
Ang pag-offload niini nga mga buluhaton ngadto sa usa ka service mesh dili lamang nagpasabot nga ang mga nag-develop sa serbisyo dili na maghunahuna bahin niini, apan mahimo usab kini nga tan-awon sa usa ka mas global nga paagi. Kung gigamit ang usa ka komplikado nga kadena sa mga serbisyo, ingna ang A -> B -> C -> D -> E, ang tibuuk nga siklo sa kinabuhi sa hangyo kinahanglan nga tagdon. Kung ang tahas mao ang pagpalawig sa mga timeout sa serbisyo C, makatarunganon nga buhaton kini tanan sa usa ka higayon, ug dili sa mga bahin: pinaagi sa pag-update sa code sa serbisyo ug paghulat hangtod madawat ang hangyo sa pagbitad ug ang sistema sa CI nag-deploy sa na-update nga serbisyo.
14. Telemetry
TL;DR: Kolektaha ang tanang gikinahanglan (ug dili kaayo) impormasyon gikan sa mga serbisyo.
Ang Telemetry usa ka kinatibuk-ang termino nga naglakip sa mga sukatan, giapod-apod nga pagsubay, ug mga troso. Ang mga service meshes nagtanyag ug mga mekanismo sa pagkolekta ug pagproseso sa tanang tulo ka matang sa datos. Dinhi diin ang mga butang medyo hanap tungod kay ang gidaghanon sa posible nga mga kapilian dako kaayo. Sa pagkolekta metrics adunay ug uban pang mga himan nga magamit sa pagkolekta og mga troso , , ug uban pa. (pananglitan ClickHouse uban sa among alang sa K8s - gibanabana. transl.), para sa distributed tracing naay ug uban pa. Ang matag service mesh mahimong mosuporta sa pipila ka mga himan ug dili sa uban. Makapaikag nga tan-awon kung mahimo ba ang proyekto paghatag og pipila ka convergence.
Sa kini nga kaso, ang bentaha sa teknolohiya sa mesh sa serbisyo mao nga ang mga sulud sa sidecar mahimo, sa prinsipyo, mangolekta sa tanan nga mga datos sa ibabaw gikan sa ilang mga serbisyo. Sa laing pagkasulti, ikaw adunay usa ka sistema sa pagkolekta sa telemetry nga imong magamit, ug ang service mesh makaproseso sa tanan niini nga kasayuran sa lainlaing mga paagi. Pananglitan:
- tail logs gikan sa usa ka serbisyo sa CLI;
- pagmonitor sa gidaghanon sa mga hangyo gikan sa service mesh dashboard;
- pagkolekta sa gipang-apod-apod nga mga pagsubay ug ipadala kini sa usa ka sistema sama sa Jaeger.
Atensyon, suhetibong paghukom: Sa kinatibuk-an nga pagsulti, ang telemetry usa ka lugar diin ang kusog nga pagpanghilabot gikan sa mesh sa serbisyo dili gusto. Ang pagkolekta sa batakang impormasyon ug pagsubay sa on-the-fly sa pipila ka bulawan nga metrics sama sa request success rate ug latency maayo, apan hinaot nga dili nato makita ang Frankenstein stacks nga migawas nga misulay sa pag-ilis sa mga espesyal nga sistema, ang uban niini napamatud-an na sa ilang kaugalingon ug maayo nga gitun-an. .
15. Pag-audit
TL; DR: Kadtong makalimot sa mga leksyon sa kasaysayan gitakdang sublion kini.
Ang pag-audit mao ang arte sa pag-obserbar sa importanteng mga panghitabo sa usa ka sistema. Sa kaso sa usa ka service mesh, kini mahimong magpasabot sa pagsubay kon kinsa ang mihimo og mga hangyo ngadto sa mga espesipikong mga endpoint alang sa mga piho nga mga serbisyo, o kung pila ka higayon ang pipila ka panghitabo nga may kalabutan sa seguridad nahitabo sa miaging bulan.
Klaro nga ang pag-audit suod kaayo sa telemetry. Ang kalainan mao nga ang telemetry kasagaran nalangkit sa mga butang sama sa pagka-produktibo ug teknikal nga integridad, samtang ang pag-awdit mahimong may kalabutan sa legal ug uban pang mga isyu nga labaw pa sa estrikto nga teknikal nga sphere (pananglitan, pagsunod sa GDPR - ang EU General Regulation sa proteksyon sa datos).
16. Paglantaw
TL;DR: Mabuhi ang React.js - usa ka dili mahurot nga tinubdan sa nindot nga mga interface.
Mahimong adunay mas maayo nga termino, apan wala ko kahibalo niini. Gipasabot lang nako ang usa ka graphical nga representasyon sa usa ka service mesh o pipila sa mga sangkap niini. Kini nga mga visualization mahimong maglakip sa mga indicators sama sa average latencies, sidecar configuration information, health check results, ug alerts.
Ang pagtrabaho sa usa ka service-oriented nga palibot naglambigit og mas taas nga cognitive load kumpara sa His Majesty the Monolith. Busa, ang presyur sa panghunahuna kinahanglan nga makunhuran sa tanan nga gasto. Ang usa ka yano nga graphical interface alang sa usa ka service mesh nga adunay katakus sa pag-klik sa usa ka buton ug makuha ang gitinguha nga resulta mahimong mahukmanon alang sa pagtubo sa pagkapopular sa kini nga teknolohiya.
Wala maapil sa listahan
Sa sinugdan gituyo nako nga ilakip ang pipila pa nga mga kaso sa paggamit sa lista, apan pagkahuman nakahukom nga dili. Ania sila, uban ang mga hinungdan sa akong desisyon:
- Multi-data center. Sa akong opinyon, kini dili kaayo usa ka kaso sa paggamit sama sa usa ka pig-ot ug espesipikong lugar sa paggamit sa mga meshes sa serbisyo o pipila ka hugpong sa mga gimbuhaton sama sa pagdiskobre sa serbisyo.
- Pagsulod ug paggawas. Kini usa ka may kalabutan nga lugar, apan gilimitahan nako ang akong kaugalingon (tingali artipisyal) sa kaso sa paggamit sa "esteng-kasadpan nga trapiko". Ang ingress ug egress angayan sa usa ka lahi nga artikulo.
konklusyon
Kana lang sa pagkakaron! Usab, kini nga lista kay arbitraryo ra ug lagmit dili kompleto. Kung sa imong hunahuna adunay akong nasipyat o adunay sayup, palihug kontaka ako sa Twitter (). Palihug respito ang mga lagda sa kaligdong.
PS gikan sa tighubad
Ang ilustrasyon sa titulo alang sa artikulo gibase sa usa ka hulagway gikan sa artikulong ""(ni Gregory MacKinnon). Gipakita niini kung giunsa ang pipila ka mga gamit gikan sa mga aplikasyon (sa berde) nga mibalhin sa usa ka serbisyo nga mesh nga naghatag mga koneksyon tali kanila (sa asul).
Basaha usab sa among blog:
- «";
- «";
- «".
Source: www.habr.com
