Service mesh siv scenarios

Service mesh siv scenarios

Nco tseg. txhais.: Tus sau tsab xov xwm no (Luc Perkins) yog tus tsim tawm tawm tswv yim ntawm lub koom haum CNCF, uas yog lub tsev rau cov haujlwm Open Source xws li Linkerd, SMI (Service Mesh Interface) thiab Kuma (los ntawm txoj kev, koj puas tau xav tias yog vim li cas Istio yog? tsis nyob hauv daim ntawv teev npe no? .) Ib zaug ntxiv sim coj cov zej zog DevOps kom nkag siab zoo dua ntawm cov hype trendy hu ua "service mesh", nws teev 16 tus yam ntxwv muaj peev xwm uas cov kev daws teeb meem no muab.

Niaj hnub no kev pabcuam mesh - ib qho ntawm cov ncauj lus kub tshaj plaws hauv kev ua haujlwm ntawm software engineering (thiab yog li ntawd!). Kuv xav tias qhov kev siv tshuab no zoo kawg nkaus thiab xav pom nws siv dav (thaum nws ua rau kev txiav txim siab, tau kawg). Txawm li cas los xij, nws tseem nyob ib puag ncig los ntawm aura ntawm kev paub tsis meej rau ntau tus neeg. Nyob rau tib lub sijhawm, txawm tias cov neeg uas paub zoo nrog nws, nws yog ib qho nyuaj rau qhia nws qhov zoo thiab nws yog dab tsi (xws li koj li tiag). Hauv tsab xov xwm no kuv yuav sim kho qhov xwm txheej los ntawm kev sau ntau yam siv li cas "service meshes" * .

* Nco tseg transl.: ntawm no thiab ntxiv rau hauv tsab xov xwm raws nraim qhov kev txhais lus no ("kev pabcuam mesh") yuav raug siv rau lub sijhawm tshiab cov kev pabcuam mesh.

Tab sis ua ntej kuv xav ua ob peb lus:

  • Kuv yeej tsis tau ua haujlwm nrog kev pabcuam meshes lossis siv lawv sab nraud ntawm cov haujlwm pib rau kuv tus kheej txoj kev kawm. Ntawm qhov tod tes, kuv yog tus uas tau sau ib pawg ntawm cov ntaub ntawv rau Twitter cov kev pabcuam sab hauv mesh hauv 2015 (nws tseem tsis tau hu ua "kev pabcuam mesh" rov qab los) thiab koom nrog kev txhim kho lub vev xaib thiab cov ntaub ntawv rau Linkerd, yog li ntawd txhais tau tias ib yam dab tsi.
  • Kuv daim ntawv teev npe yog kwv yees thiab tsis tiav. Tej zaum yuav muaj cov xwm txheej siv tsis paub rau kuv, thiab cov kev xaiv tshiab yuav tshwm sim nyob rau lub sijhawm thaum cov thev naus laus zis tsim thiab nws cov koob meej loj tuaj.
  • Nyob rau tib lub sijhawm, tsis yog txhua qhov kev pabcuam mesh uas twb muaj lawm txhawb nqa txhua qhov kev siv teev tseg. Yog li ntawd, kuv cov lus zoo li "kev pabcuam mesh tuaj yeem ..." yuav tsum tau nyeem raws li "tus kheej, thiab tej zaum txhua qhov kev pabcuam mesh nrov tuaj yeem siv tau ...".
  • Qhov kev txiav txim ntawm cov piv txwv tsis muaj qhov txawv.

Cov npe luv:

  • nrhiav kev pabcuam;
  • encryption;
  • authentication thiab tso cai;
  • load ntsuas;
  • Circuit Court tawg;
  • autoscaling;
  • kev xa tawm canary;
  • xiav-ntsuab xa mus;
  • kuaj mob;
  • load shedding;
  • tsheb mirroring;
  • rwb thaiv tsev;
  • thov tus nqi txwv, rov sim dua thiab ncua sij hawm;
  • telemetry;
  • kev tshuaj xyuas;
  • pom kev.

1. Kev pab nrhiav pom

TL;DR: Txuas rau lwm cov kev pabcuam hauv lub network siv cov npe yooj yim.

Cov kev pabcuam yuav tsum tuaj yeem "nrhiav" ib leeg siv cov npe tsim nyog - piv txwv li, service.api.production, pets/staging los yog cassandra. Huab ib puag ncig yog elastic, thiab ib lub npe tuaj yeem nkaum ntau qhov kev pabcuam. Nws yog tseeb hais tias nyob rau hauv xws li ib tug teeb meem nws yog tsis yooj yim sua rau hardcode tag nrho cov IP chaw nyob.

Ntxiv rau, thaum ib qho kev pabcuam pom lwm qhov, nws yuav tsum tuaj yeem xa cov lus thov mus rau qhov kev pabcuam ntawd yam tsis muaj kev ntshai tias lawv yuav xaus rau ntawm qhov kev nkag siab ntawm nws qhov tawg. Hauv lwm lo lus, cov kev pabcuam mesh yuav tsum tau saib xyuas kev noj qab haus huv ntawm txhua qhov kev pabcuam thiab khaws cov npe ntawm cov tswv tsev raws li qhov ua tau.

Txhua qhov kev pabcuam mesh siv cov kev pabcuam nrhiav pom txawv txawv. Tam sim no, txoj hauv kev tshaj plaws yog xa mus rau cov txheej txheem sab nraud xws li Kubernetes DNS. Yav dhau los ntawm Twitter peb tau siv lub npe hu ua lub hom phiaj no Finagle. Tsis tas li ntawd, kev pabcuam mesh thev naus laus zis ua rau nws muaj peev xwm rau kev cai naming mechanisms tshwm sim (txawm hais tias kuv tseem tsis tau pom ib qho kev siv SM nrog cov haujlwm zoo li no).

2. Encryption

TL; DR: Tshem tawm cov tsheb tsis sib xws ntawm cov kev pabcuam thiab ua kom cov txheej txheem no ua haujlwm tau zoo thiab tuaj yeem ua tau.

Nws yog qhov zoo kom paub tias cov neeg tawm tsam tsis tuaj yeem nkag mus rau koj lub network sab hauv. Firewalls ua haujlwm zoo ntawm qhov no. Tab sis yuav ua li cas yog tias hacker nkag mus hauv? Nws puas tuaj yeem ua txhua yam nws xav tau nrog kev pabcuam hauv kev pabcuam? Cia peb cia siab tias qhov no tsis tshwm sim tom qab tag nrho. Txhawm rau tiv thaiv qhov xwm txheej no, koj yuav tsum siv lub zero-trust network uas txhua qhov kev khiav tsheb ntawm cov kev pabcuam raug muab zais. Cov kev pabcuam niaj hnub no feem ntau ua tiav qhov no los ntawm kev sib nrig sib TLS (mtual TLS, mTLS). Qee zaum, mTLS ua haujlwm nyob rau hauv tag nrho cov huab thiab pawg (Kuv xav tias interplanetary kev sib txuas lus yuav muaj ib hnub yuav tau teem ib yam).

Tau kawg, rau mTLS kev pabcuam mesh xaiv tau. Txhua qhov kev pabcuam tuaj yeem saib xyuas nws tus kheej TLS, tab sis qhov no txhais tau tias koj yuav tsum nrhiav txoj hauv kev los tsim daim ntawv pov thawj, faib lawv hla cov chaw pabcuam, thiab suav nrog cov lej hauv daim ntawv thov uas yuav thauj cov ntawv pov thawj ntawm cov ntaub ntawv. Yog lawm, tsis txhob hnov ​​​​qab rov ua dua cov ntawv pov thawj no thaum lub sijhawm tsis tu ncua. Kev pabcuam meshes automate mTLS nrog cov tshuab zoo li SPIFFE, uas, nyob rau hauv lem, automate cov txheej txheem ntawm muab thiab rotating daim ntawv pov thawj.

3. Kev lees paub thiab kev tso cai

TL; DR: Tsim tsa tus neeg thov yog leej twg thiab txheeb xyuas qhov lawv tau tso cai ua ntej qhov kev thov txawm mus txog qhov kev pabcuam.

Cov kev pabcuam feem ntau xav paub leej twg ua qhov kev thov (authentication), thiab siv cov ntaub ntawv no, txiav txim siab uas ib lub koom haum muab tso cai ua (kev tso cai). Hauv qhov no, lub npe "leej twg" tuaj yeem nkaum:

  1. Lwm cov kev pabcuam. Qhov no hu ua "authentication" phooj ywg" Piv txwv li, kev pabcuam web xav nkag mus rau qhov kev pabcuam db. Kev pabcuam meshes feem ntau daws cov teeb meem zoo li no siv mTLS: daim ntawv pov thawj hauv qhov no ua raws li tus cim tsim nyog.
  2. Qee tus neeg siv. Qhov no hu ua "authentication" thov" Piv txwv li, neeg siv haxor69 xav yuav lub teeb tshiab. Kev pabcuam meshes muab ntau yam mechanisms, xws li. JSON Web Tokens.

    Ntau ntawm peb tau ua qhov no hauv daim ntawv thov code. Ib qho kev thov tuaj rau hauv, peb saib hauv lub rooj users, nrhiav tus neeg siv thiab sib piv tus password, tom qab ntawd kos rau kab permissions lwm. Hauv qhov kev pabcuam mesh, qhov no tshwm sim ua ntej qhov kev thov txawm mus txog qhov kev pabcuam.

Thaum peb tau tsim tsa tus neeg thov tuaj, peb yuav tsum txiav txim siab seb lub koom haum no tau tso cai ua dab tsi. Qee qhov kev pabcuam meshes tso cai rau koj los teeb tsa cov cai yooj yim (txog leej twg tuaj yeem ua dab tsi) raws li YAML cov ntaub ntawv lossis ntawm kab hais kom ua, thaum lwm tus muab kev koom ua ke nrog cov qauv zoo li Qhib Tus Neeg Saib Xyuas Txoj Cai. Lub hom phiaj kawg yog rau koj cov kev pabcuam kom lees txais txhua qhov kev thov, muaj kev nyab xeeb yog tias nws los ntawm qhov chaw ntseeg siab и qhov kev txiav txim no tso cai.

4. Load ntsuas

TL; DR: Faib lub thauj khoom hla kev pabcuam raws li tus qauv tshwj xeeb.

Ib qho "Service" nyob rau hauv ib qho kev pabcuam feem ntau muaj ntau qhov xwm txheej zoo ib yam. Piv txwv li, niaj hnub no kev pabcuam cache muaj 5 daim ntawv luam, thiab tag kis lawv tus lej yuav nce mus rau 11. Cov lus thov xa mus rau cache, yuav tsum tau muab faib raws li lub hom phiaj tshwj xeeb. Piv txwv li, txo qis latency los yog ua kom qhov tshwm sim ntawm kev mus rau qhov ua haujlwm piv txwv. Qhov feem ntau siv algorithm yog Round-robin, tab sis muaj ntau lwm tus - piv txwv li, txoj kev hnyav. (qhov hnyav) queries (koj tuaj yeem xaiv lub hom phiaj nyiam), nplhaib (ntiv nplhaib) hashing (siv zoo ib yam hashing thoob plaws cov dej ntws) los yog tsawg kawg thov txoj kev (nyiam dua yog muab rau piv txwv nrog tsawg kawg thov).

Classic balancers muaj lwm yam haujlwm, xws li HTTP caching thiab DDoS kev tiv thaiv, tab sis lawv tsis cuam tshuam rau sab hnub tuaj-sab hnub poob kev tsheb khiav (uas yog, rau cov tsheb khiav hauv cov ntaub ntawv chaw - kwv yees li ntawm cov kev pabcuam mesh). Tau kawg, nws tsis yog yuav tsum tau siv cov kev pabcuam mesh rau kev sib npaug, tab sis nws tso cai rau koj los teeb tsa thiab tswj kev ntsuas kev ntsuas rau txhua qhov kev pabcuam los ntawm cov txheej txheem tswj hwm hauv nruab nrab, yog li tshem tawm qhov yuav tsum tau khiav thiab teeb tsa cais cov khoom sib npaug hauv pawg network. .

5. Circuit Court tawg

TL; DR: Nres tsheb mus rau qhov kev pabcuam teeb meem thiab tswj kev puas tsuaj hauv qhov xwm txheej phem tshaj plaws.

Yog tias vim li cas qhov kev pabcuam tsis tuaj yeem tiv nrog kev khiav tsheb, cov kev pabcuam mesh muab ntau txoj hauv kev los daws qhov teebmeem no (lwm tus yuav tau tham txog hauv seem tsim nyog). Circuit Breaking yog qhov kev xaiv loj tshaj plaws rau kev txiav cov kev pabcuam los ntawm kev khiav tsheb. Txawm li cas los xij, los ntawm nws tus kheej nws tsis ua rau kev txiav txim siab - xav tau kev npaj thaub qab. Rov qab siab tuaj yeem muab (backpressure) rau cov kev pabcuam uas thov (tsuas yog tsis txhob hnov ​​​​qab txhim kho koj qhov kev pabcuam mesh rau qhov no!), lossis, piv txwv li, xim cov xwm txheej nplooj ntawv liab thiab xa cov neeg siv mus rau lwm qhov ntawm nplooj ntawv nrog "tus whale poob" ("Twitter yog down”).

Kev pabcuam meshes tsis tsuas yog tso cai rau koj los txhais thaum shutdown yuav ua raws li thiab uas qhov no yuav ua raws. Hauv qhov no, "thaum" tuaj yeem suav nrog kev sib xyaw ua ke ntawm cov kev txwv tshwj xeeb: tag nrho cov kev thov rau ib lub sijhawm, tus naj npawb ntawm cov kev sib txuas sib txuas, kev thov tseem tos, rov ua haujlwm, thiab lwm yam.

Tej zaum koj tsis xav ua phem rau kev rhuav tshem Circuit Court, tab sis nws yog qhov zoo uas koj paub tias koj muaj kev npaj thaub qab thaum muaj xwm txheej ceev.

6. Autoscaling

TL; DR: nce lossis txo tus naj npawb ntawm qhov kev pabcuam nyob ntawm cov txheej txheem teev tseg.

Kev pabcuam meshes tsis yog teem sijhawm, yog li lawv tsis ua nqa tawm ntsuas koj tus kheej. Txawm li cas los xij, lawv tuaj yeem muab cov ntaub ntawv qhia txog cov phiaj xwm twg yuav ua raws lawv cov kev txiav txim siab. Txij li cov kev pabcuam meshes tau nkag mus rau tag nrho cov tsheb khiav ntawm cov kev pabcuam, lawv muaj cov ntaub ntawv dav dav txog qhov tshwm sim: cov kev pabcuam twg muaj teebmeem, cov kev pabcuam twg yog qhov hnyav heev (lub peev xwm faib rau lawv yog nkim), thiab lwm yam.

Piv txwv li, Kubernetes ntsuas cov kev pabcuam raws li cov pods 'CPU thiab kev siv nco (saib peb daim ntawv qhia "Autoscaling thiab kev tswj cov peev txheej hauv Kubernetes"- kwv yees. txhais.), tab sis yog tias koj txiav txim siab ntsuas raws li lwm qhov kev ntsuas (hauv peb qhov xwm txheej, kev tsheb sib cuam tshuam), koj yuav xav tau ib qho kev ntsuas tshwj xeeb. Kev tswj hwm zoo li no qhia tias yuav ua li cas nrog Envoy, Istio и Prometheus, tab sis cov txheej txheem nws tus kheej yog qhov nyuaj heev. Peb xav kom cov kev pabcuam mesh ua kom yooj yim rau qhov no los ntawm kev tso cai rau peb yooj yim teeb tsa cov xwm txheej xws li "nce tus lej ntawm kev pabcuam auth, yog tias tus naj npawb ntawm cov kev thov tseem ceeb tshaj qhov pib hauv ib feeb."

7. Canary deployments

TL; DR: Ntsuam xyuas cov yam ntxwv tshiab lossis cov kev pab cuam versions ntawm ib pawg ntawm cov neeg siv.

Cia peb hais tias koj tab tom tsim cov khoom lag luam SaaS thiab npaj siab yuav nthuav tawm qhov tshiab tshiab ntawm nws. Koj tau sim nws hauv kev ua yeeb yam thiab nws ua haujlwm zoo heev. Tab sis tseem muaj qee qhov kev txhawj xeeb txog nws tus cwj pwm hauv cov xwm txheej tiag tiag. Hauv lwm lo lus, koj yuav tsum sim cov ntawv tshiab ntawm cov teeb meem tiag tiag yam tsis muaj kev pheej hmoo rau cov neeg siv kev ntseeg siab. Kev xa tawm Canary yog qhov zoo rau qhov no. Lawv tso cai rau koj los ua kom pom cov yam ntxwv tshiab rau ib pawg ntawm cov neeg siv. Cov subset no yuav suav nrog cov neeg siv siab ntseeg siab tshaj plaws lossis cov neeg ua haujlwm nrog cov khoom siv dawb dawb, lossis cov neeg siv uas tau hais tawm lub siab xav ua "guinea npua".

Kev pabcuam meshes siv qhov no los ntawm kev tso cai rau koj los txheeb xyuas cov txheej txheem uas txiav txim siab leej twg yuav pom cov ntawv thov version twg, thiab kev khiav tsheb raws li. Txawm li cas los xij, tsis muaj dab tsi hloov pauv rau cov kev pabcuam lawv tus kheej. Version 1.0 ntawm qhov kev pabcuam ntseeg tias txhua qhov kev thov los ntawm cov neeg siv yuav tsum pom nws, thiab version 1.1 ntseeg zoo ib yam rau nws cov neeg siv. Lub caij no, koj tuaj yeem hloov qhov feem pua ​​​​ntawm cov tsheb khiav ntawm cov qub thiab cov qauv tshiab, hloov cov neeg siv ntau zuj zus mus rau qhov tshiab yog tias nws ua haujlwm ruaj khov thiab koj "guinea npua" muab qhov ua ntej.

8. Blue-ntsuab deployments

TL; DR: Yob tawm qhov zoo tshiab tshiab, tab sis npaj txhij los nqa txhua yam rov qab.

Lub ntsiab lus xiav-ntsuab deployments yog dov tawm qhov kev pabcuam tshiab "xiav", pib ua ke nrog cov qub, "ntsuab" ib qho. Yog tias txhua yam ua tau zoo thiab cov kev pabcuam tshiab ua tau zoo, tom qab ntawd tus qub tuaj yeem ua tsis taus. (Alas, muaj ib hnub no "xiav" kev pabcuam tshiab yuav rov ua txoj hmoo ntawm "ntsuab" thiab ploj mus ...) Blue-ntsuab deployments txawv ntawm canary ones nyob rau hauv uas cov haujlwm tshiab npog sawv daws ib zaug cov neeg siv (tsis yog ib feem); Lub ntsiab lus ntawm no yog kom muaj "qhov chaw nyab xeeb" npaj yog tias muaj qee yam tsis raug.

Kev pabcuam meshes muab txoj hauv kev yooj yim heev los kuaj qhov kev pabcuam "xiav" thiab hloov mus rau qhov ua haujlwm "ntsuab" ib qho thaum muaj teeb meem. Tsis txhob hais txog qhov tseeb tias nyob rau hauv txoj kev lawv muab ntau cov ntaub ntawv (saib "Telemetry" hauv qab no) txog kev ua haujlwm ntawm "xiav", uas yuav pab kom nkag siab seb nws puas npaj txhij rau kev ua haujlwm tag nrho.

Nco tseg. txhais.: Koj tuaj yeem nyeem ntxiv txog cov tswv yim sib txawv hauv Kubernetes (xws li cov canary hais, xiav / ntsuab thiab lwm yam) hauv qhov no tsab xov xwm.

9. Kev kuaj mob

TL; DR: Ua raws li cov kev pabcuam uas ua haujlwm tau zoo thiab teb rau cov uas tsis ua haujlwm lawm.

Kev kuaj mob (kev kuaj mob) pab txiav txim seb qhov kev pab cuam puas tau npaj los txais thiab ua cov tsheb khiav. Piv txwv li, nyob rau hauv cov ntaub ntawv ntawm HTTP cov kev pab cuam, kev kuaj xyuas kev noj qab haus huv yuav zoo li GET thov mus rau qhov kawg /health... Teb 200 OK yuav txhais tau hais tias qhov piv txwv yog noj qab haus huv, lwm yam - hais tias nws yog tsis npaj kom tau txais kev khiav tsheb. Kev pabcuam meshes tso cai rau koj los qhia ob txoj hauv kev uas yuav raug kuaj xyuas thiab qhov zaus uas daim tshev no yuav raug ua. Cov ntaub ntawv no tuaj yeem siv rau lwm lub hom phiaj - piv txwv li, rau kev sib npaug ntawm cov khoom siv hluav taws xob thiab kev sib tsoo.

Yog li, kev kuaj xyuas kev noj qab haus huv tsis yog qhov siv ib leeg xwb, tab sis feem ntau yog siv los ua kom tiav lwm lub hom phiaj. Tsis tas li, nyob ntawm cov txiaj ntsig ntawm kev kuaj mob, kev ua haujlwm sab nraud rau lwm qhov kev pabcuam mesh lub hom phiaj yuav xav tau: piv txwv li, hloov kho nplooj ntawv xwm txheej, tsim teeb meem ntawm GitHub, lossis sau daim pib JIRA. Thiab kev pabcuam mesh muaj cov txheej txheem yooj yim los ua kom txhua yam no.

10. Load shedding

TL; DR: Redirect tsheb nyob rau hauv teb rau ib ntus nce nyob rau hauv kev siv.

Yog tias qee qhov kev pabcuam muaj kev thauj mus los ntau dhau, koj tuaj yeem hloov pauv qee qhov kev tsheb mus rau lwm qhov chaw ib ntus (uas yog, "pom", "hloov"). (dhau) nws nyob ntawd). Piv txwv li, mus rau qhov kev pabcuam thaub qab lossis chaw khaws ntaub ntawv, lossis mus tas li Pulsar lub ntsiab lus. Yog li ntawd, qhov kev pabcuam yuav txuas ntxiv ua qee qhov kev thov es tsis txhob cuam tshuam thiab nres ua txhua yam ua ke. Load shedding yog qhov zoo dua rau kev rhuav tshem lub voj voog, tab sis nws tseem tsis tau pom zoo kom tsim txom nws. Nws pab tiv thaiv cascading tsis ua hauj lwm uas ua rau cov kev pab cuam downstream poob.

11. Traffic parallelization/mirroring

TL;DR: Xa ib daim ntawv thov mus rau ntau qhov chaw ib zaug.

Qee lub sij hawm yuav tsum tau xa ib daim ntawv thov (los yog ib qho kev xaiv ntawm kev thov) rau ntau qhov kev pabcuam ib zaug. Ib qho piv txwv zoo yog xa ib feem ntawm kev tsim khoom mus rau qhov kev pabcuam staging. Lub vev xaib tsim khoom loj xa cov lus thov mus rau qhov kev pabcuam hauv qab products.production thiab tsuas yog rau nws. Thiab cov kev pabcuam mesh ntse theej daim ntawv thov no thiab xa mus rau products.staging, uas lub web server tseem tsis paub txog.

Lwm qhov kev pabcuam mesh siv cov ntaub ntawv uas tuaj yeem siv tau rau sab saum toj ntawm kev sib luag yog kev ntsuam xyuas regression. Nws suav nrog xa cov lus thov tib yam rau cov kev pabcuam sib txawv thiab kuaj xyuas seb txhua tus qauv coj zoo li cas. Kuv tseem tsis tau tuaj hla ib qho kev pabcuam mesh siv nrog kev sib koom ua ke kev ntsuas kev ntsuas zoo li Diffy, tab sis lub tswv yim nws tus kheej zoo li pheej hmoo.

12. rwb thaiv tsev

TL; DR: Txhaum koj cov kev pabcuam mesh rau hauv mini-networks.

Kuj hu ua segmentationKev rho tawm yog kev kos duab ntawm kev faib cov kev pabcuam mesh rau hauv cov ntsiab lus sib txawv uas tsis paub txog ib leeg. Kev rho tawm yog me ntsis zoo li tsim cov network ntiag tug virtual. Qhov sib txawv tseem ceeb yog tias koj tseem tuaj yeem txaus siab rau tag nrho cov txiaj ntsig ntawm kev pabcuam mesh (xws li kev pabcuam nrhiav pom), tab sis nrog kev ruaj ntseg ntxiv. Piv txwv li, yog tias tus neeg tawm tsam tuaj yeem nkag mus rau qhov kev pabcuam ntawm ib lub subnet, nws yuav tsis tuaj yeem pom cov kev pabcuam twg khiav ntawm lwm cov subnets lossis cuam tshuam lawv cov tsheb.

Tsis tas li ntawd, cov txiaj ntsig kuj tseem yog lub koom haum. Koj tuaj yeem xav subnet koj cov kev pabcuam raws li koj lub tuam txhab qauv thiab txo cov neeg tsim khoom ntawm kev paub txog kev muaj peev xwm khaws tag nrho cov kev pabcuam mesh hauv siab.

13. Thov txwv tus nqi, rov ua dua thiab ncua sijhawm

TL; DR: Koj tsis tas yuav suav nrog nitty-gritty thov kev tswj haujlwm hauv koj cov codebase.

Tag nrho cov no tuaj yeem suav hais tias yog kev siv cais, tab sis kuv tau txiav txim siab los muab lawv vim yog ib qho kev sib koom ua ke: lawv tau dhau qhov kev thov kev tswj hwm lub neej uas feem ntau ua los ntawm cov ntawv thov qiv. Yog tias koj tab tom tsim lub vev xaib server hauv Ruby ntawm Rails (tsis suav nrog kev pabcuam mesh) uas ua rau thov rau cov kev pabcuam backend ntawm GRPC, daim ntawv thov yuav tau txiav txim siab yuav ua li cas yog tias N thov ua tsis tiav. Koj tseem yuav tau tshawb xyuas seb muaj pes tsawg lub tsheb khiav cov kev pabcuam no tuaj yeem ua tau thiab hardcode cov kev txwv no siv lub tsev qiv ntawv tshwj xeeb. Ntxiv rau, daim ntawv thov yuav tsum tau txiav txim siab thaum twg nws yog lub sij hawm tso tseg thiab cia qhov kev thov fizzle tawm (raws li lub sijhawm). Thiab txhawm rau hloov pauv ib qho ntawm cov kev txwv saum toj no, lub vev xaib server yuav tsum raug tso tseg, rov kho dua thiab pib dua.

Kev xa tawm cov haujlwm no mus rau qhov kev pabcuam mesh tsis tsuas yog txhais tau hais tias cov neeg tsim khoom pabcuam yuav tsis tau xav txog lawv, tab sis kuj hais tias lawv tuaj yeem saib hauv ntau txoj hauv kev thoob ntiaj teb. Yog tias siv cov kev pabcuam nyuaj, hais A -> B -> C -> D -> E, tag nrho lub neej ntawm kev thov yuav tsum raug coj mus rau hauv tus account. Yog tias txoj haujlwm txuas ntxiv ncua sij hawm hauv kev pabcuam C, nws yog qhov tsim nyog los ua qhov no txhua lub sijhawm, thiab tsis yog hauv ntu: los ntawm kev hloov kho cov cai pabcuam thiab tos kom txog thaum qhov kev thov rub raug lees txais thiab CI system xa cov kev pabcuam tshiab.

14. Telemetry

TL;DR: Sau tag nrho cov ntaub ntawv tsim nyog (thiab tsis yog heev) los ntawm cov kev pabcuam.

Telemetry yog ib lub ntsiab lus dav dav uas suav nrog cov ntsuas ntsuas, faib tracing, thiab cav. Kev pabcuam meshes muab cov txheej txheem rau kev sau thiab ua tiav peb hom ntaub ntawv. Qhov no yog qhov uas tej yam tau pom me ntsis qhov muag tsis pom vim tias cov kev xaiv muaj peev xwm loj dhau. Mus sau metrics muaj Prometheus thiab lwm yam cuab yeej uas siv tau los sau cov cav txawj, Loki, Vector thiab lwm tus. (piv txwv li ClickHouse nrog peb log tsev rau K8s - approx. txhais.), rau faib tracing muaj Mus yos hav zoov thiab lwm yam. Txhua qhov kev pabcuam mesh tuaj yeem txhawb nqa qee yam cuab yeej thiab tsis yog lwm tus. Nws yuav nthuav kom pom tias qhov project tuaj yeem ua tau Qhib Telemetry muab ib co convergence.

Nyob rau hauv cov ntaub ntawv no, qhov zoo ntawm cov kev pab cuam mesh tshuab yog tias sidecar ntim tau, nyob rau hauv txoj cai, sau tag nrho cov saum toj no cov ntaub ntawv los ntawm lawv cov kev pab cuam. Nyob rau hauv lwm yam lus, koj muaj ib tug tib telemetry sau system ntawm koj pov tseg, thiab cov kev pab cuam mesh yuav ua tau tag nrho cov ntaub ntawv no nyob rau hauv ntau txoj kev. Piv txwv li:

  • tail log los ntawm ib qho kev pabcuam hauv CLI;
  • saib xyuas qhov ntim ntawm kev thov los ntawm kev pabcuam mesh dashboard;
  • sau cov kab sib faib thiab xa mus rau lub kaw lus zoo li Jaeger.

Nco ntsoov, kev txiav txim ntawm subjective: Feem ntau hais lus, telemetry yog ib qho chaw uas muaj zog cuam tshuam los ntawm kev pabcuam mesh yog qhov tsis xav tau. Sau cov ntaub ntawv yooj yim thiab taug qab ntawm-tus-fly qee qhov kev ntsuas kub zoo li kev thov kev vam meej thiab latency yog qhov zoo, tab sis cia siab tias peb tsis pom Frankenstein pawg tshwm sim uas sim hloov cov tshuab tshwj xeeb, qee qhov uas twb tau ua pov thawj lawv tus kheej thiab kawm tau zoo. .

15. Kev soj ntsuam

TL;DR: Cov neeg uas tsis nco qab cov lus qhia ntawm keeb kwm raug puas tsuaj rov qab los.

Kev kuaj xyuas yog kev kos duab ntawm kev soj ntsuam cov xwm txheej tseem ceeb hauv lub cev. Nyob rau hauv rooj plaub ntawm kev pabcuam mesh, qhov no tuaj yeem txhais tau tias taug qab leej twg tau thov rau cov ntsiab lus kawg rau cov kev pabcuam tshwj xeeb, lossis pes tsawg zaus qee qhov xwm txheej ntsig txog kev nyab xeeb tshwm sim hauv lub hli dhau los.

Nws yog qhov tseeb tias kev txheeb xyuas muaj feem cuam tshuam nrog telemetry. Qhov txawv yog tias telemetry feem ntau cuam tshuam nrog cov khoom xws li kev tsim khoom thiab kev ncaj ncees, thaum kev soj ntsuam tuaj yeem cuam tshuam txog kev cai lij choj thiab lwm yam teeb meem uas dhau mus dhau qhov kev nruj me ntsis (piv txwv li, ua raws li GDPR - EU General Regulation ntawm cov ntaub ntawv tiv thaiv).

16. Saib ua ntej

TL;DR: Lub neej nyob ntev React.js - qhov tsis txaus ntseeg ntawm kev sib cuam tshuam zoo nkauj.

Tej zaum yuav muaj lub sijhawm zoo dua, tab sis kuv tsis paub. Kuv tsuas yog txhais cov duab sawv cev ntawm cov kev pabcuam mesh lossis qee yam ntawm nws cov khoom. Cov kev pom pom no tuaj yeem suav nrog cov ntsuas xws li qhov nruab nrab latencies, cov ntaub ntawv qhia txog kev teeb tsa tsheb, cov txiaj ntsig kuaj mob, thiab ceeb toom.

Kev ua haujlwm nyob rau hauv ib puag ncig kev pabcuam cuam tshuam nrog kev paub ntau dua piv rau Nws Majesty lub Monolith. Yog li ntawd, kev txawj ntse siab yuav tsum tau txo ntawm txhua tus nqi. Ib qho yooj yim graphical interface rau cov kev pabcuam mesh nrog lub peev xwm los nyem rau ntawm lub pob thiab tau txais cov txiaj ntsig xav tau tuaj yeem txiav txim siab rau txoj kev loj hlob ntawm cov koob npe ntawm cov thev naus laus zis no.

Tsis suav nrog hauv daim ntawv teev npe

Kuv thawj zaug xav kom suav nrog qee qhov kev siv ntau ntxiv hauv cov npe, tab sis tom qab ntawd txiav txim siab tsis ua. Ntawm no lawv yog, nrog rau cov laj thawj rau kuv qhov kev txiav txim siab:

  • Multi-data center. Nyob rau hauv kuv lub tswv yim, qhov no tsis yog li ntawd ntau npaum li cas ib tug siv raws li ib tug nqaim thiab tshwj xeeb cheeb tsam ntawm daim ntawv thov kev pab cuam meshes los yog ib co txheej ntawm functions xws li kev pab cuam nrhiav pom.
  • Ingress thiab egress. Qhov no yog thaj chaw muaj feem cuam tshuam, tab sis kuv tau txwv kuv tus kheej (tej zaum dag) rau "sab hnub tuaj-sab hnub poob" siv rooj plaub. Ingress thiab egress tsim nyog ib tsab xov xwm cais.

xaus

Ntawd yog tag nrho rau tam sim no! Ib zaug ntxiv, daim ntawv teev npe no yog qhov tsis txaus ntseeg thiab feem ntau yuav ua tsis tiav. Yog tias koj xav tias kuv tau plam qee yam lossis tau txais qee yam tsis raug, thov hu rau kuv ntawm Twitter (@lucckerkins). Thov ua raws li cov cai ntawm kev ncaj ncees.

PS los ntawm tus txhais lus

Cov duab kos npe rau kab lus yog ua raws li cov duab los ntawm kab lus "Service Mesh yog dab tsi (thiab thaum twg siv ib qho)?"(los ntawm Gregory MacKinnon). Nws qhia tau hais tias yuav ua li cas qee qhov kev ua haujlwm los ntawm cov ntawv thov (hauv ntsuab) tau txav mus rau qhov kev pabcuam mesh uas muab kev sib txuas ntawm lawv (hauv xiav).

Nyeem kuj ntawm peb blog:

Tau qhov twg los: www.hab.com

Ntxiv ib saib