Kev Pabcuam Mesh: Dab tsi Txhua Tus Kws Ua Haujlwm Software Yuav Tsum Paub Txog Cov Tshuab Kub Kub Tshaj Plaws

Nco tseg. txhais.: Kev pabcuam mesh yog qhov tshwm sim uas tseem tsis tau muaj kev txhais lus ruaj khov rau hauv Lavxias (ntau dua 2 xyoos dhau los peb tau muab cov kev xaiv "mesh rau kev pabcuam", thiab tom qab mesh, qee cov npoj yaig pib nquag txhawb kev sib xyaw "kev pabcuam sieve") . Kev sib tham tas li hais txog cov thev naus laus zis no tau ua rau muaj qhov xwm txheej uas cov khoom lag luam thiab cov khoom lag luam muaj kev cuam tshuam zoo heev. Cov ntaub ntawv zoo no los ntawm ib tus kws sau ntawv ntawm cov lus qub yog tsim los coj kom meej meej rau cov engineers thiab tsis yog xwb.

Kev Pabcuam Mesh: Dab tsi Txhua Tus Kws Ua Haujlwm Software Yuav Tsum Paub Txog Cov Tshuab Kub Kub Tshaj Plaws
Comic los ntawm Sebastian Caceres

Taw qhia

Yog hais tias koj yog ib tug software engineer ua hauj lwm nyob rau hauv qhov chaw ntawm lub backend systems, lub sij hawm "kev pab cuam mesh" tej zaum twb tau ua ruaj khov nyob rau hauv koj lub siab nyob rau hauv ob peb xyoos dhau los. Ua tsaug rau qhov sib txawv txawv, cov kab lus no tau coj mus rau kev lag luam ntau thiab ntau dua, thiab cov hype thiab cov kev tshaj tawm muaj feem cuam tshuam tau loj hlob zoo li lub pob zeb, ya saum toj thiab tsis pom kev qeeb.

Cov kev pabcuam mesh tau yug los hauv cov dej muv, nyiam cov huab cua ib puag ncig. Hmoov tsis zoo, qhov no txhais tau hais tias ntau qhov kev tsis sib haum xeeb nyob ib puag ncig nws yog los ntawm "tsawg-calorie chatter" mus rau-siv cov lus qhia-blatant bullshit. Tab sis yog tias koj lim tawm tag nrho cov suab nrov, koj tuaj yeem pom tias cov kev pabcuam mesh muaj cov haujlwm tiag tiag, meej thiab tseem ceeb.

Hauv tsab xov xwm no, kuv yuav sim ua qhov ntawd: muab kev ncaj ncees, qhov tob, tus kws tshaj lij qhia kev taw qhia rau kev pabcuam mesh. Kuv yuav teb ntau dua cov lus nug: "Nws yog dab tsi?", - tab sis kuj "Vim li cas?"Thiab "Vim li cas tam sim no?". Thaum kawg, kuv yuav sim piav qhia vim li cas (hauv kuv lub tswv yim) cov cuab yeej tshwj xeeb no tau ua rau muaj kev vwm hype, uas nyob rau hauv nws tus kheej yog ib zaj dab neeg nthuav.

Kuv yog leej twg?

Nyob zoo sawv daws! Kuv lub npe yog William Morgan. Kuv yog ib tug ntawm cov creators Linkerd - thawj qhov kev pabcuam mesh qhov project thiab qhov project uas yog los liam rau qhov tshwm sim ntawm lub sijhawm kev pabcuam mesh zoo li no ( thov txim nawb!). (Nco transl.: Los ntawm txoj kev, thaum kaj ntug ntawm qhov tshwm sim ntawm lo lus no, ntau tshaj 2,5 xyoo dhau los, peb twb tau txhais cov ntaub ntawv thaum ntxov ntawm tib tus sau hu ua "Dab tsi yog qhov kev pabcuam mesh thiab vim li cas kuv thiaj xav tau [rau daim ntawv thov huab nrog microservices]?".) kuv kuj coj Npauj yog ib qho pib uas tsim cov kev pabcuam txias mesh yam xws li Linkerd thiab Dhau dej.

Tej zaum koj yuav twv tau tias kuv muaj kev xav tsis zoo thiab kev xav txog qhov teeb meem no. Txawm li cas los xij, kuv yuav sim ua kom tsis ncaj ncees rau qhov tsawg kawg nkaus (nrog rau kev zam ntawm ib ntu: "Vim li cas thiaj muaj ntau tham txog kev pabcuam mesh?", - nyob rau hauv uas kuv yuav txawm li cas los qhia kuv lub tswv yim preconceived). Kuv kuj yuav ua qhov zoo tshaj plaws los ua cov lus qhia no raws li lub hom phiaj ua tau. Hauv cov piv txwv tshwj xeeb, kuv tsuas yog tso siab rau qhov kev paub dhau los ntawm Linkerd, thaum taw qhia qhov sib txawv (yog tias muaj) uas kuv paub hauv kev siv lwm hom kev pabcuam mesh.

Okay, nws yog lub sijhawm txav mus rau cov khoom noj.

Qhov kev pabcuam mesh yog dab tsi?

Txawm tias tag nrho cov hype, cov kev pab cuam mesh yog structurally heev yooj yim. Nws tsuas yog ib pawg ntawm userspace proxies nyob "nrog rau" cov kev pabcuam (peb yuav tham me ntsis txog "ze" tom qab), ntxiv rau cov txheej txheem tswj. Cov neeg sawv cev raug hu ua ke cov ntaub ntawv dav hlau, thiab cov txheej txheem tswj tau hu ua tswj lub dav hlau. Cov ntaub ntawv dav hlau cuam tshuam hu xov tooj ntawm cov kev pabcuam thiab ua "txhua yam txawv" nrog lawv; lub dav hlau tswj, ntsig txog, tswj tus cwj pwm ntawm tus neeg sawv cev thiab muab kev nkag rau koj, i.e. tus neeg teb xov tooj, mus rau API, tso cai rau lub network los tswj thiab ntsuas tag nrho.

Kev Pabcuam Mesh: Dab tsi Txhua Tus Kws Ua Haujlwm Software Yuav Tsum Paub Txog Cov Tshuab Kub Kub Tshaj Plaws

Lub npe no yog dab tsi? Qhov no yog TCP npe ntawm "Txheej Txheem 7-paub" qeb (piv txwv li "siv rau hauv tus account" 7th txheej ntawm OSI qauv) zoo li HAProxy thiab NGINX. Koj tuaj yeem xaiv lub npe rau koj nyiam; Linkerd siv lub npe Rust, tsis muaj npe linkerd-proxy. Peb tau muab tso ua ke tshwj xeeb rau kev pabcuam mesh. Lwm cov meshes nyiam lwm tus neeg sawv cev (Envoy yog ib qho kev xaiv ntau). Txawm li cas los xij, xaiv tus neeg sawv cev tsuas yog qhov teeb meem ntawm kev siv.

Cov proxy servers ua dab tsi? Obviously, lawv npe hu mus rau thiab los ntawm cov kev pab cuam (hais nruj me ntsis, lawv ua raws li proxies thiab thim rov qab proxies, tuav ob qho tib si nkag thiab tawm). Thiab lawv siv cov txheej txheem tshwj xeeb uas tsom rau kev hu ntawm lub kev pabcuam. Qhov no tsom rau kev khiav tsheb ntawm cov kev pabcuam yog qhov txawv ntawm qhov kev pabcuam mesh npe los ntawm, hais, API gateways lossis ingress proxies (tom kawg tsom rau kev hu tuaj rau hauv pawg los ntawm lub ntiaj teb sab nraud). (Nco tseg. txhais.: Rau kev sib piv ntawm Kubernetes Ingress controllers uas twb muaj lawm, ntau yam uas siv tus Envoy hais lawm, saib qhov no tsab xov xwm.)

Yog li, peb xam tawm cov ntaub ntawv dav hlau. Lub dav hlau tswj tau yooj yim dua: nws yog ib txheej ntawm cov khoom siv uas muab tag nrho cov tshuab uas cov ntaub ntawv dav hlau yuav tsum tau ua haujlwm hauv kev sib koom tes, suav nrog kev pabcuam nrhiav pom, TLS daim ntawv pov thawj, metrics aggregation, thiab lwm yam. Cov ntaub ntawv dav hlau qhia txog lub dav hlau tswj. nws tus cwj pwm; nyob rau hauv lem, lub dav hlau tswj muab ib qho API uas tso cai rau koj hloov thiab taug qab tus cwj pwm ntawm cov ntaub ntawv dav hlau tag nrho.

Hauv qab no yog daim duab ntawm lub dav hlau tswj thiab cov ntaub ntawv dav hlau hauv Linkerd. Raws li koj tuaj yeem pom, lub dav hlau tswj hwm suav nrog ntau yam sib txawv, suav nrog Prometheus piv txwv uas sau cov ntsuas ntsuas los ntawm cov servers npe, nrog rau lwm yam khoom xws li destination (Kev tshawb nrhiav kev pabcuam), identity (Certificate Authority, CA) thiab public-api (cov ntsiab lus kawg rau lub vev xaib thiab CLI). Hauv qhov sib piv, cov ntaub ntawv dav hlau yog qhov yooj yim linkerd-proxy ib sab ntawm daim ntawv thov piv txwv. Qhov no tsuas yog daim duab logic xwb; nyob rau hauv lub ntiaj teb tiag tiag xa mus, koj yuav muaj peb replicas ntawm txhua tus tswj lub dav hlau tivthaiv thiab pua pua los yog txhiab tus proxies nyob rau hauv cov ntaub ntawv dav hlau.

(Lub thawv xiav nyob rau hauv daim duab no sawv cev rau ciam teb ntawm Kubernetes pods. Koj tuaj yeem pom tias cov thawv nrog cov linkerd-proxy nyob rau hauv tib lub pods raws li daim ntawv thov ntim. Cov tswv yim no hu ua sidecar thawv.)

Kev Pabcuam Mesh: Dab tsi Txhua Tus Kws Ua Haujlwm Software Yuav Tsum Paub Txog Cov Tshuab Kub Kub Tshaj Plaws

Kev pabcuam mesh architecture muaj ntau qhov cuam tshuam tseem ceeb. Ua ntej, txij li txoj haujlwm ntawm tus neeg sawv cev yog txhawm rau cuam tshuam kev hu xov tooj ntawm cov kev pabcuam, kev pabcuam mesh tsuas yog ua rau kev txiav txim siab yog tias koj daim ntawv thov raug tsim rau cov kev pabcuam. mesh tau siv nrog monoliths, tab sis qhov no yog kom meej meej redundant rau lub hom phiaj ntawm ib tug proxy, thiab nws functionality yog tsis zoo li xav tau.

Lwm qhov txiaj ntsig tseem ceeb yog qhov kev pabcuam mesh xav tau loj heev tus naj npawb ntawm cov neeg sawv cev. Qhov tseeb, Linkerd chains linkerd-proxy rau txhua qhov piv txwv ntawm txhua qhov kev pabcuam (lwm qhov kev siv ntxiv ib lub npe rau txhua qhov node / host / VM. Qhov ntawd yog qhov ntau heev). Xws li kev siv lub npe ntawm nws tus kheej muaj ntau yam teeb meem ntxiv:

  1. Proxies nyob rau hauv cov ntaub ntawv dav hlau yuav tsum ceev, vim hais tias rau txhua qhov kev hu muaj ob peb hu rau lub npe: ib qho ntawm cov neeg siv khoom, ib qho ntawm cov neeg rau zaub mov.
  2. Tsis tas li, tus neeg sawv cev yuav tsum yog me me ΠΈ lub teeb. Txhua tus yuav haus lub cim xeeb thiab CPU cov peev txheej, thiab qhov kev siv no yuav loj hlob raws li daim ntawv thov.
  3. Koj yuav xav tau ib lub tshuab los siv thiab hloov kho ntau tus neeg sawv cev. Ua nws manually tsis yog ib qho kev xaiv.

Feem ntau, cov kev pabcuam mesh zoo li qhov no (tsawg kawg los ntawm tus noog lub qhov muag pom): koj siv ib pawg ntawm cov neeg siv khoom siv uas "ua ib yam dab tsi" nrog rau sab hauv, kev pabcuam kev pabcuam, thiab siv lub dav hlau tswj xyuas thiab tswj lawv.

Nws yog lub sijhawm rau lo lus nug "Vim li cas?"

Qhov kev pabcuam mesh yog dab tsi?

Rau cov neeg uas xub ntsib lub tswv yim ntawm kev pab cuam mesh, nws yog zam txim rau ib tug me ntsis nyob rau hauv awe. Qhov kev pabcuam mesh tsim txhais tau hais tias tsis yog nws yuav ua rau daim ntawv thov latency, tab sis nws tseem yuav haus cov peev txheej thiab yuav ntxiv ib pawg ntawm cov tshiab mechanisms nyob rau hauv lub infrastructure. Ua ntej koj teeb tsa qhov kev pabcuam mesh, thiab tom qab ntawd koj mam li pom koj tus kheej xav tau kev pabcuam ntau pua (yog tias tsis yog txhiab) ntawm tus neeg sawv cev. Lo lus nug yog, leej twg yuav tuaj yeem pab dawb rau qhov no?

Lo lus teb rau lo lus nug no muaj ob ntu. Ua ntej, cov nqi pauv uas cuam tshuam nrog kev xa cov neeg tuaj yeem tuaj yeem txo qis vim qee qhov kev hloov pauv tshwm sim hauv ecosystem (ntxiv rau qhov no tom qab).

Secondly, xws li ib tug ntaus ntawv yog ib tug zoo txoj kev los qhia ntxiv logic rau hauv lub system. Thiab tsis tsuas yog vim muaj ntau yam tshiab tuaj yeem ntxiv siv cov kev pabcuam mesh, tab sis kuj vim tias nws tuaj yeem ua tiav yam tsis muaj kev cuam tshuam nrog ecosystem. Nyob rau hauv qhov tseeb, tag nrho cov kev pab cuam mesh qauv yog raws li nram no postulate: nyob rau hauv ib tug multiservice system, tsis muaj teeb meem dab tsi ua cov kev pabcuam tus kheej, kev khiav tsheb nruab nrab ntawm lawv yog qhov zoo tshaj plaws taw tes rau ntxiv functionality.

Piv txwv li, hauv Linkerd (raws li nyob rau hauv feem ntau meshes) kev ua haujlwm yog tsom feem ntau ntawm HTTP hu, suav nrog HTTP / 2 thiab gRPC *. Lub functionality yog heev nplua nuj - nws yuav muab faib ua peb chav kawm:

  1. Muaj feem cuam tshuam kev ntseeg tau. Kev thov rov ua dua, ncua sijhawm, txoj hauv kev canary (kev sib cais / hloov pauv), thiab lwm yam.
  2. Muaj feem cuam tshuam saib xyuas. Kev sib sau ua tiav cov nqi, ncua sij hawm thiab thov ntim rau txhua qhov kev pabcuam lossis tus kheej qhov chaw; tsim topological maps ntawm kev pabcuam, thiab lwm yam.
  3. Muaj feem cuam tshuam kev ruaj ntseg. Mutual TLS, tswj kev nkag, thiab lwm yam.

* Los ntawm Linkerd qhov kev xav, gRPC xyaum tsis txawv ntawm HTTP / 2: nws tsuas yog siv protobuf hauv kev them nyiaj. Los ntawm tus tsim tawm txoj kev xav, ob yam no, ntawm chav kawm, txawv.

Ntau yam ntawm cov txheej txheem no ua haujlwm ntawm qib thov (li no "L7 npe"). Piv txwv li, yog tias kev pabcuam Foo ua rau HTTP hu rau kev pabcuam Bar, qhov linkerd-proxy ntawm Foo sab tuaj yeem ntse thauj khoom-sib npaug thiab kev hu xov tooj los ntawm Foo mus rau Bar piv txwv raws li pom latency; nws tuaj yeem rov hais dua yog tias tsim nyog (thiab yog tias nws tsis muaj peev xwm); nws tuaj yeem sau cov lej teb thiab sijhawm sijhawm, thiab lwm yam. Ib yam li ntawd, tus linkerd-proxy ntawm Bar sab tuaj yeem tsis lees txais qhov kev thov yog tias nws tsis raug tso cai lossis yog tias qhov kev thov txwv dhau lawm; tuaj yeem kho qhov ncua ntawm nws qhov, thiab lwm yam.

Proxies tuaj yeem "ua ib yam dab tsi" ntawm qib kev sib txuas thiab. Piv txwv li, tus linkerd-proxy ntawm Foo sab tuaj yeem pib qhov kev sib txuas TLS, thiab tus linkerd-proxy ntawm Bar sab tuaj yeem txiav nws, thiab ob tog tuaj yeem txheeb xyuas ib leeg daim ntawv pov thawj TLS *. Qhov no tsis yog tsuas yog encryption ntawm cov kev pabcuam, tab sis kuj yog ib txoj hauv kev ruaj ntseg los txheeb xyuas cov kev pabcuam: Foo thiab Bar tuaj yeem "ua pov thawj" tias lawv yog leej twg lawv hais tias lawv yog.

* "Tus phooj ywg ntawm tus phooj ywg" txhais tau hais tias tus neeg siv khoom daim ntawv pov thawj kuj tau txheeb xyuas (kev sib tw TLS). Nyob rau hauv "classic" TLS, piv txwv li, nruab nrab ntawm ib tug browser thiab ib tug neeg rau zaub mov, daim ntawv pov thawj ntawm tsuas yog ib sab (tus neeg rau zaub mov) feem ntau yog txheeb xyuas.

Txawm hais tias lawv ua haujlwm ntawm qhov kev thov lossis kev sib txuas, nws yog ib qho tseem ceeb uas yuav tsum tau hais meej tias txhua qhov kev pabcuam mesh nta kev ua haujlwm tus cwj pwm. Linkerd tsis tuaj yeem hloov pauv cov semantics ntawm payload, xws li ntxiv cov teb rau JSON fragment lossis hloov pauv rau protobuf. Peb yuav tham txog qhov tseem ceeb no tom qab thaum peb tham txog ESB thiab nruab nrab.

Qhov no yog cov txheej txheem uas cov kev pabcuam mesh muaj. Cov lus nug tshwm sim: vim li cas ho tsis coj ncaj qha rau hauv daim ntawv thov? Thiab yog vim li cas mess nrog ib tug proxy txhua?

Vim li cas ib qho kev pabcuam mesh yog ib lub tswv yim zoo

Thaum lub peev xwm ntawm cov kev pabcuam mesh yog qhov ntxim nyiam, nws tus nqi tseem ceeb tsis yog dag hauv cov yam ntxwv. Thaum kawg peb Tau siv lawv ncaj qha rau hauv daim ntawv thov (tom qab peb yuav pom tias qhov no yog lub hauv paus ntawm kev pabcuam mesh). Txhawm rau muab tso rau hauv ib kab lus, tus nqi ntawm kev pabcuam mesh yog: nws muab kev ua haujlwm tseem ceeb rau kev khiav haujlwm niaj hnub server software hauv qhov sib xws, pawg-wide, daim ntawv thov-code-agnostic yam.

Cia peb tsom xam qhov kev thov no.

Β«Kev ua haujlwm tseem ceeb rau kev ua haujlwm niaj hnub Server Software". Yog tias koj tab tom tsim ib daim ntawv thov kev lag luam server txuas nrog rau pej xeem hauv internet uas lees txais kev thov los ntawm lub ntiaj teb sab nraud thiab teb rau lawv hauv lub sijhawm luv luv - piv txwv li, daim ntawv thov web, API server, thiab feem ntau ntawm lwm cov ntawv thov niaj hnub no - thiab Yog hais tias koj siv nws raws li ib tug txheej ntawm cov kev pab cuam uas interact synchronously nrog ib leeg, thiab yog hais tias koj nyob twj ywm upgrading no software, ntxiv tshiab nta, thiab yog hais tias koj raug yuam kom ua kom lub kaw lus no nyob rau hauv kev ua hauj lwm mob thaum lub sij hawm hloov kho - nyob rau hauv cov ntaub ntawv no, zoo siab nrog rau , koj tab tom tsim software server niaj hnub. Thiab tag nrho cov yam ntxwv zoo uas tau teev tseg saum toj no tau dhau los ua qhov tseem ceeb rau koj. Daim ntawv thov yuav tsum txhim khu kev qha, ruaj ntseg, thiab koj yuav tsum tuaj yeem pom tias nws ua dab tsi. Nws yog cov lus nug no uas cov kev pabcuam mesh pab daws tau.

(Okay, kuv txoj kev ntseeg tias txoj hauv kev no yog txoj hauv kev niaj hnub los tsim cov software server tau nkag mus rau hauv kab lus dhau los. Lwm tus nyiam tsim monoliths, "reactive microservices" thiab lwm yam uas tsis poob rau hauv lub ntsiab lus saum toj no. Cov neeg no tej zaum muaj kev xav. uas txawv ntawm kuv, thiab nyob rau hauv lem, kuv ntseeg hais tias lawv yog "tsis ncaj ncees lawm" - txawm nyob rau hauv txhua rooj plaub, cov kev pab cuam mesh tsis heev pab tau rau lawv).

Β«Uniform rau tag nrho pawg". Cov yam ntxwv muab los ntawm kev pabcuam mesh tsis yog qhov tseem ceeb xwb. Lawv siv rau txhua qhov kev pabcuam hauv daim ntawv thov, tsis hais hom lus twg lawv tau sau rau hauv, lub hauv paus twg lawv siv, leej twg sau lawv, lawv siv li cas, thiab tag nrho lwm cov subtleties ntawm lawv txoj kev loj hlob thiab siv.

Β«Daim ntawv thov code ywj siab". Thaum kawg, cov kev pabcuam mesh tsis tsuas yog muab kev ua haujlwm zoo ib yam thoob plaws tag nrho pawg, nws ua li ntawd hauv txoj hauv kev uas tsis tas yuav hloov kho daim ntawv thov. Lub hauv paus tseem ceeb ntawm kev ua haujlwm ntawm kev pabcuam mesh, suav nrog cov haujlwm ntawm kev teeb tsa, hloov kho, kev khiav haujlwm, kev tswj hwm, thiab lwm yam, yog nyob ntawm theem platform thiab tsis muaj kev ywj pheej ntawm daim ntawv thov. Daim ntawv thov tuaj yeem hloov pauv yam tsis muaj kev cuam tshuam rau kev pabcuam mesh. Nyob rau hauv lem, cov kev pabcuam mesh tuaj yeem hloov pauv yam tsis muaj kev cuam tshuam rau daim ntawv thov.

Nyob rau hauv luv luv, cov kev pab cuam mesh tsis tsuas yog muab ib qho tseem ceeb functionality, tab sis nws ua li ntawd nyob rau hauv lub ntiaj teb no, uniform, thiab daim ntawv thov-kev ywj pheej txoj kev. Thiab yog li ntawd, thaum lub functionality ntawm ib tug kev pab cuam mesh yuav siv tau nyob rau hauv cov kev pab cuam code (piv txwv li, raws li ib tug lub tsev qiv ntawv nrog rau txhua qhov kev pab cuam), txoj kev no yuav tsis muab cov uniformity thiab kev ywj pheej uas muaj nuj nqis heev nyob rau hauv cov ntaub ntawv ntawm kev pab cuam mesh. .

Thiab txhua yam koj yuav tau ua yog ntxiv ib pawg ntawm cov neeg sawv cev! Kuv cog lus tias, tsis ntev peb yuav saib cov nqi ua haujlwm cuam tshuam nrog kev ntxiv cov npe no. Tab sis ua ntej, cia peb nres thiab saib lub tswv yim ntawm kev ywj pheej ntawm qhov kev xav ntawm ntau yam neeg.

Leej twg yog qhov kev pabcuam mesh pab?

Raws li qhov tsis yooj yim li nws yuav ua tau, txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau ua ib feem tseem ceeb ntawm ecosystem, nws yuav tsum tau txais los ntawm tib neeg. Yog li leej twg txaus siab rau qhov kev pabcuam mesh? Leej twg tau txais txiaj ntsig los ntawm nws siv?

Yog tias koj tsim software server niaj hnub, koj tuaj yeem xav txog koj cov pab pawg ua ib pab pawg cov tswv kev pabcuamuas ua ke txhim kho thiab siv kev lag luam logic, thiab cov tswv platformkoom nrog hauv kev txhim kho ntawm lub platform sab hauv uas cov kev pabcuam no khiav. Hauv cov koom haum me me, cov no tuaj yeem yog tib neeg, tab sis raws li lub tuam txhab loj hlob, cov luag haujlwm no yuav ua kom pom tseeb thiab txawm tias muab faib ua cov luag haujlwm me me ... (Muaj ntau qhov yuav tsum tau hais ntawm no txog qhov hloov pauv ntawm devops, lub koom haum cuam tshuam ntawm microservices, thiab lwm yam.) n. Tab sis tam sim no, cia peb muab cov lus piav qhia no tso cai).

Los ntawm qhov kev pom no, cov neeg tau txais txiaj ntsig meej ntawm cov kev pabcuam mesh yog cov tswv ntawm lub platform. Tom qab tag nrho, lub hom phiaj tseem ceeb ntawm pab pawg platform yog los tsim ib lub platform sab hauv uas cov tswv kev pabcuam tuaj yeem siv cov laj thawj kev lag luam thiab ua nws txoj hauv kev uas lav lawv qhov kev ywj pheej siab tshaj plaws los ntawm cov ntsiab lus tsis txaus ntseeg ntawm nws txoj haujlwm. Cov kev pabcuam mesh tsis tsuas yog muab lub peev xwm tseem ceeb rau kev ua tiav lub hom phiaj no, nws ua li ntawd, nyob rau hauv lem, tsis muaj kev vam khom rau cov tswv kev pabcuam.

Cov tswv kev pabcuam kuj tau txais txiaj ntsig, txawm tias nyob rau hauv txoj kev tsis ncaj ncees dua. Lub hom phiaj ntawm tus tswv kev pabcuam yog kom ua tau raws li qhov ua tau zoo hauv kev siv lub logic ntawm cov txheej txheem kev lag luam, thiab qhov tsawg nws yuav tsum txhawj xeeb txog cov teeb meem kev ua haujlwm, qhov zoo dua. Hloov chaw ntawm kev tswj hwm, hais, rov sim cov cai lossis TLS, lawv tuaj yeem tsom mus rau kev lag luam nkaus xwb thiab vam tias lub platform yuav saib xyuas tus so. Rau lawv, qhov no yog qhov txiaj ntsig loj.

Lub koom haum tus nqi ntawm xws li kev faib nruab nrab ntawm cov tswv ntawm cov platforms thiab cov kev pabcuam tsis tuaj yeem kwv yees ntau dhau. Kuv xav tias nws pab lub ntsiab pab txhawb rau tus nqi ntawm cov kev pabcuam mesh.

Peb tau kawm zaj lus qhia no thaum tus kiv cua Linkerd thaum ntxov tau qhia peb tias vim li cas lawv xaiv qhov kev pabcuam mesh: vim nws tso cai rau lawv "mus tham kom tsawg." Nov yog qee cov ntsiab lus: cov txiv neej los ntawm ib lub tuam txhab loj tsiv lawv lub platform rau Kubernetes. Txij li thaum daim ntawv thov ua hauj lwm nrog cov ntaub ntawv rhiab heev, lawv xav encrypt tag nrho cov kev sib txuas lus hauv pawg. Txawm li cas los xij, qhov xwm txheej nyuaj los ntawm kev muaj ntau pua cov kev pabcuam thiab ntau pua pab pawg txhim kho. Lub zeem muag ntawm kev tiv tauj txhua tus thiab ua kom lawv muaj kev txhawb nqa rau TLS hauv lawv cov phiaj xwm tsis txaus siab rau lawv. Los ntawm kev txhim kho Linkerd, lawv tsiv teb tsaws kev lav los ntawm cov neeg tsim khoom (los ntawm qhov nws pom nws yog qhov teeb meem tsis tsim nyog) rau platformers, uas qhov no yog qhov tseem ceeb tshaj plaws. Hauv lwm lo lus, Linkerd tau daws teeb meem rau lawv tsis muaj teeb meem ntau npaum li lub koom haum.

Nyob rau hauv luv luv, cov kev pab cuam mesh yog, theej, tsis yog kev daws teeb meem, tab sis socio-technical Teeb meem. (ua tsaug Cindy Sridharan rau kev qhia lub sij hawm no.

Cov kev pabcuam mesh puas daws tau tag nrho kuv cov teebmeem?

Yog lawm. Kuv txhais tau tias, tsis muaj!

Saib ntawm peb chav kawm ntawm cov yam ntxwv uas tau teev tseg saum toj no - kev ntseeg siab, kev ruaj ntseg, thiab kev saib xyuas - nws tau pom tseeb tias qhov kev pabcuam mesh tsis yog ib qho kev daws teeb meem rau ib qho ntawm cov teeb meem no. Txawm hais tias Linkerd tuaj yeem xa rov qab thov dua (yog tias nws paub tias lawv tsis muaj peev xwm), nws tsis nyob hauv txoj haujlwm los txiav txim siab txog dab tsi yuav rov qab mus rau tus neeg siv yog tias qhov kev pabcuam thaum kawg poob qis - qhov kev txiav txim siab yuav tsum tau ua los ntawm daim ntawv thov. Linkerd tuaj yeem khaws cov txheeb cais ntawm kev thov ua tiav, tab sis nws tsis tuaj yeem saib rau hauv cov kev pabcuam thiab muab nws cov kev ntsuas sab hauv - daim ntawv thov yuav tsum muaj cov cuab yeej zoo li no. Thiab thaum Linkerd muaj peev xwm hosting mTLS, tag nrho-fledged kev ruaj ntseg daws xav tau ntau ntxiv.

Ib pawg ntawm cov yam ntxwv hauv cov cheeb tsam no muab los ntawm cov kev pabcuam mesh muaj feem xyuam nrog platform nta. Los ntawm qhov no kuv txhais tau tias ua haujlwm uas:

  1. Kev ywj pheej ntawm kev lag luam logic. Txoj kev uas hu rau histograms yog tsim los ntawm Foo thiab Bar yog tsis muaj kev ywj pheej kiag li vim li cas Foo hu Bar.
  2. Yooj yim rau siv kom raug. Hauv Linkerd, kev rov ua dua yog parameterized nrog txhua yam ntawm cov khoom zoo nkauj xws li rov sim dua pob nyiaj siv. (rov sim dua pob nyiaj siv), txij li qhov yooj yim-minded mus kom ze rau kev ua raws li tej yam no yuav muaj tseeb ua rau qhov tshwm sim ntawm qhov hu ua "avalanche ntawm kev thov" (retry cua daj cua dub) thiab lwm yam teeb meem tshwj xeeb rau kev faib tshuab.
  3. Qhov zoo tshaj plaws thaum siv tas li. TLS mechanism tsuas yog ua rau kev nkag siab yog tias siv txhua qhov chaw.

Vim tias cov yam ntxwv no tau siv los ntawm cov txheej txheem npe (thiab tsis yog ntawm daim ntawv thov txheej), cov kev pabcuam mesh nthuav tawm lawv ntawm platform, tsis siv. Yog li, nws tsis muaj teeb meem dab tsi cov kev pabcuam raug sau rau hauv, lub hauv paus twg lawv siv, leej twg sau lawv thiab vim li cas. Proxies ua haujlwm dhau ntawm tag nrho cov ntsiab lus no, thiab lub hauv paus tseem ceeb ntawm kev ua haujlwm no, suav nrog cov dej num ntawm kev teeb tsa, hloov kho, kev khiav hauj lwm, kev tswj hwm, thiab lwm yam, tsuas yog nyob ntawm theem platform.

Piv txwv ntawm kev pabcuam mesh muaj peev xwm

Kev Pabcuam Mesh: Dab tsi Txhua Tus Kws Ua Haujlwm Software Yuav Tsum Paub Txog Cov Tshuab Kub Kub Tshaj Plaws

Hauv cov ntsiab lus, kev pabcuam mesh tsis yog ib qho kev daws teeb meem rau kev ntseeg siab, kev saib xyuas, lossis kev ruaj ntseg. Cov peev txheej ntawm cov cheeb tsam no txhais tau hais tias yuav tsum muaj kev koom tes ntawm cov tswv kev pabcuam, pab pawg Ops / SRE thiab lwm tus neeg koom nrog lub tuam txhab. Cov kev pabcuam mesh tsuas yog muab "siav" ntawm theem platform rau txhua qhov chaw no.

Vim li cas qhov kev pabcuam mesh tau nrov tam sim no?

Tej zaum koj yuav xav tsis thoob tam sim no: OK, yog tias qhov kev pabcuam mesh zoo heev, vim li cas peb tsis tau pib siv ntau lab tus neeg sawv cev ntawm pawg kaum xyoo dhau los?

Muaj lus teb banal rau lo lus nug no: kaum xyoo dhau los txhua leej txhua tus ua monoliths, thiab tsis muaj leej twg xav tau kev pab mesh. Qhov no muaj tseeb, tab sis hauv kuv lub tswv yim, cov lus teb no tsis nco qab lub ntsiab lus. Txawm tias kaum xyoo dhau los, lub tswv yim ntawm microservices yog txoj kev cog lus los tsim cov txheej txheem loj tau sib tham thiab siv hauv cov tuam txhab xws li Twitter, Facebook, Google thiab Netflix. Kev nkag siab dav dav - tsawg kawg hauv qhov chaw ntawm kev lag luam uas kuv tau ntsib nrog - yog tias microservices yog "txoj kev raug" los tsim cov tshuab loj, txawm tias nws nyuaj heev.

Tau kawg, txawm hais tias muaj cov tuam txhab siv microservices kaum xyoo dhau los, lawv tsis tau lo proxies nyob txhua qhov chaw lawv tuaj yeem tsim cov kev pabcuam mesh. Txawm li cas los xij, yog tias koj saib ze, lawv tau ua qee yam zoo sib xws: ntau lub tuam txhab tau yuam kom siv lub tsev qiv ntawv tshwj xeeb sab hauv rau kev sib txuas lus (qee zaum hu ua lub tsev qiv ntawv rog, fat client Library).

Netflix muaj Hysterix, Google muaj Stubby, Twitter muaj lub tsev qiv ntawv Finagle. Finagle, piv txwv li, yog qhov yuav tsum tau ua rau txhua qhov kev pabcuam tshiab hauv Twitter. Nws tuav ob tus neeg siv khoom thiab cov neeg rau zaub mov sab ntawm kev sib txuas, tso cai rau kev thov rov ua dua, txhawb kev thov routing, thauj khoom ntsuas, thiab ntsuas ntsuas. Nws muab cov txheej txheem zoo ib yam ntawm kev ntseeg siab thiab kev saib xyuas thoob plaws tag nrho Twitter pawg, txawm tias qhov kev pabcuam tau ua dab tsi. Tau kawg, nws tsuas yog ua haujlwm rau JVM cov lus thiab tau ua raws li tus qauv programming uas yuav tsum tau siv rau tag nrho daim ntawv thov. Txawm li cas los xij, nws cov haujlwm ua haujlwm yuav luag zoo ib yam li cov kev pabcuam mesh. (Qhov tseeb, thawj version ntawm Linkerd tsuas yog Finagle qhwv hauv daim ntawv tso cai.)

Yog li, kaum xyoo dhau los tsis yog tsuas yog microservices xwb, tab sis kuj tshwj xeeb proto-service-mesh cov tsev qiv ntawv uas daws cov teeb meem tib yam uas cov kev pabcuam mesh daws tau niaj hnub no. Txawm li cas los xij, kev pabcuam mesh nws tus kheej tsis muaj nyob thaum ntawd. Yuav tsum muaj kev hloov pauv ua ntej nws tshwm sim.

Thiab qhov no yog qhov uas cov lus teb tob dua, muab zais rau hauv lwm qhov kev hloov pauv uas tau tshwm sim hauv 10 xyoo dhau los: tau muaj qhov poob qis hauv tus nqi ntawm kev xa cov microservices. Cov tuam txhab hais saum toj no uas siv microservices ib xyoo caum dhau los - Twitter, Netflix, Facebook, Google - yog cov tuam txhab loj loj thiab cov peev txheej loj. Lawv tsis tsuas yog xav tau, tab sis kuj muaj peev xwm tsim, xa tawm, thiab ua haujlwm loj raws li microservices. Lub zog thiab kev siv zog uas Twitter engineers tau muab tso rau hauv kev txav los ntawm monolithic mus rau microservices mus kom ze yog amazing. (Honestly, raws li yog qhov tseeb tias nws ua haujlwm.) Hom kev tsim kho vaj tse zoo li no yog qhov ua tsis tau rau cov tuam txhab me.

Cia peb txav mus rau tam sim no. Niaj hnub no muaj cov startups uas qhov piv ntawm microservices rau developers yog 5: 1 (los yog txawm 10:1), thiab tsis tas li ntawd, lawv ua tiav nrog lawv! Yog tias qhov pib ntawm 5 tus neeg tuaj yeem ua haujlwm 50 microservices yam tsis muaj kev cuam tshuam, ces ib yam dab tsi kom meej meej txo tus nqi ntawm lawv cov kev siv.

Kev Pabcuam Mesh: Dab tsi Txhua Tus Kws Ua Haujlwm Software Yuav Tsum Paub Txog Cov Tshuab Kub Kub Tshaj Plaws
1500 microservices hauv Monzo; txhua kab yog txoj cai network uas tso cai rau kev khiav tsheb

Kev txo qis hauv tus nqi ntawm kev khiav hauj lwm microservices yog qhov tshwm sim ntawm ib qho txheej txheem: kev loj hlob ntawm cov ntim khoom ΠΈ cov kws ntaus suab paj nruag. Qhov no yog qhov tseeb cov lus teb tob rau cov lus nug ntawm dab tsi tau pab rau qhov tshwm sim ntawm kev pabcuam mesh. Tib lub tshuab ua rau ob qho tib si kev pabcuam mesh thiab microservices txaus nyiam: Kubernetes thiab Docker.

Vim li cas? Zoo, Docker daws ib qho teeb meem loj - qhov teeb meem ntawm kev ntim khoom. Los ntawm ntim ib daim ntawv thov thiab nws (tsis yog network) lub sijhawm ua haujlwm nyob rau hauv lub thawv, Docker hloov daim ntawv thov mus rau hauv chav tsev fungible uas tuaj yeem tuav thiab khiav txhua qhov chaw. Nyob rau tib lub sijhawm, nws ua haujlwm yooj yim heev. ntau yam lus pawg: Txij li thaum lub thawv yog lub atomic unit ntawm kev tua, nws tsis muaj teeb meem dab tsi hauv, txawm tias nws yog JVM, Node, Go, Python, lossis Ruby daim ntawv thov, rau kev xa tawm thiab kev ua haujlwm. Koj tsuas yog khiav nws thiab qhov ntawd yog nws.

Kubernetes coj txhua yam mus rau qib tom ntej. Tam sim no hais tias muaj ib pawg ntawm "cov khoom siv tau" thiab ntau lub tshuab ua haujlwm rau lawv, muaj qhov xav tau rau cov cuab yeej uas tuaj yeem phim lawv rau ib leeg. Hauv kev txiav txim siab dav dav, koj muab Kubernetes ntau lub thawv thiab ntau lub tshuab, thiab nws phim lawv nrog ib leeg (ntawm chav kawm, qhov no yog cov txheej txheem dynamic thiab tas li hloov pauv: cov thawv tshiab txav mus los, cov tshuab pib thiab nres, thiab lwm yam. Txawm li cas los xij, Kubernetes siv tag nrho cov no rau hauv tus account).

Thaum Kubernetes tau teeb tsa, lub sijhawm nws yuav siv los siv thiab ua haujlwm ib qho kev pabcuam tsis txawv ntau ntawm tus nqi xa mus thiab ua haujlwm kaum kev pabcuam (qhov tseeb, nws yuav luag zoo ib yam rau 100 cov kev pabcuam). Ntxiv rau cov thawv no raws li lub tshuab ntim khoom uas txhawb nqa kev siv ntau yam lus, thiab koj muaj ib tuj ntawm cov ntawv thov tshiab siv los ua microservices sau ua ntau hom lus, tsuas yog hom ntawm ib puag ncig uas cov kev pabcuam mesh yog qhov haum rau.

Yog li ntawd, peb tuaj rau cov lus teb rau lo lus nug ntawm yog vim li cas lub tswv yim ntawm ib tug kev pab cuam mesh tau ua nrov tam sim no: lub uniformity uas Kubernetes muab rau cov kev pab cuam yog siv ncaj qha rau cov hauj lwm ua hauj lwm uas tig mus rau cov kev pab cuam mesh. Koj ntim cov neeg sawv cev rau hauv cov thawv ntim khoom, muab Kubernetes txoj haujlwm los tuav lawv txhua qhov chaw, thiab voila! Ntawm qhov tso zis, koj tau txais kev pabcuam mesh, thaum Kubernetes tswj tag nrho cov tshuab ntawm nws qhov kev xa tawm. (tsawg kawg los ntawm qhov pom noog qhov muag. Tau kawg, muaj ntau yam nuances rau cov txheej txheem no.)

Los xaus: vim li cas qhov kev pabcuam mesh tau nrov tam sim no thiab tsis yog kaum xyoo dhau los yog Kubernetes thiab Docker tsis tau nce ntxiv. xav tau nyob rau hauv nws, simplifying qhov kev siv ntawm daim ntaub ntawv raws li teev ntawm multilingual microservices, tab sis kuj ho txo. tus nqi rau nws txoj haujlwm los ntawm kev muab cov txheej txheem rau kev xa tawm thiab tswj cov chaw nres tsheb proxy chaw ua si.

Vim li cas thiaj muaj ntau tham txog kev pabcuam mesh?

Kev tiv thaiv: Hauv seem no, kuv tso rau txhua yam kev xav, kev xav, kev tsim thiab cov ntaub ntawv sab hauv.

Kev tshawb nrhiav "kev pabcuam mesh" yuav tig mus ua ib pawg ntawm cov khoom siv rov ua dua tshiab, cov ntsiab lus qis-calorie, khib cov haujlwm, thiab kaleidoscope ntawm kev cuam tshuam tsim nyog ntawm lub suab nrov. Txhua yam kev siv thev naus laus zis tshiab muaj qhov no, tab sis nyob rau hauv cov ntaub ntawv ntawm kev pabcuam mesh, qhov teeb meem tshwj xeeb yog mob. Vim li cas?

Zoo, nws yog ib feem ntawm kuv qhov txhaum. Kuv tau ua qhov zoo tshaj plaws los txhawb Linkerd thiab cov kev pabcuam mesh ntawm txhua lub sijhawm, los ntawm suav tsis txheeb blog posts thiab cov ntawv zoo li no. Tab sis kuv tsis muaj zog li ntawd. Txhawm rau teb cov lus nug no tiag tiag, peb yuav tsum tham me ntsis txog qhov xwm txheej dav dav. Thiab nws tsis tuaj yeem tham txog nws yam tsis tau hais txog ib qhov project: Istio yog qhov qhib qhov kev pabcuam mesh tsim los ntawm Google, IBM thiab Lyft.

(Cov peb lub tuam txhab muaj lub luag haujlwm sib txawv heev: Lyft txoj kev koom tes zoo li txwv rau lub npe ib leeg; lawv sau Envoy tab sis tsis siv lossis koom nrog kev txhim kho Istio. IBM koom nrog kev txhim kho Istio thiab siv nws. Google hnyav heev. koom nrog hauv kev txhim kho Istio, tab sis raws li kuv tuaj yeem qhia, tsis siv nws.)

Qhov project Istio yog qhov tseem ceeb rau ob yam. Ua ntej, nws yog qhov kev lag luam loj loj uas Google, tshwj xeeb, muab tso rau hauv nws qhov kev tshaj tawm. Kuv kwv yees tias tam sim no cov neeg feem coob paub txog cov kev pabcuam mesh lub tswv yim thawj zaug tau kawm txog nws ua tsaug rau Istio. Qhov thib ob feature yog qhov phem npaum li cas Istio tau txais. Hauv qhov teeb meem no, kuv, pom tseeb, yog ib tus neeg txaus siab, tab sis sim ua kom lub hom phiaj kom ua tau, kuv tseem pab tsis tau tab sis Mark heev tsis zoo tus cwj pwm, tsis heev tshwj xeeb (txawm hais tias tsis tshwj xeeb: systemd los rau hauv siab, sib piv tau ua twb pheej...) rau qhov Open Source project.

(Hauv kev xyaum, Istio zoo li muaj teeb meem tsis yog nrog kev nyuaj thiab UX nkaus xwb, tab sis kuj nrog kev ua tau zoo. Piv txwv li, thaum lub sijhawm Linkerd kev ntsuas kev ua tau zooua los ntawm lwm tus neeg sab nrauv, cov kws tshaj lij pom cov xwm txheej uas Istio tus Tsov tus tw latency yog 100 npaug siab dua li ntawm Linkerd, nrog rau cov xwm txheej uas tsis muaj peev txheej, thaum Linkerd txuas ntxiv ua haujlwm tau zoo, thiab Istio tau nres ua haujlwm tag nrho.)

Tawm ntawm kuv qhov kev xav txog vim li cas qhov no tshwm sim, Kuv ntseeg tias qhov kev tawm tsam tawm ntawm qhov kev pabcuam mesh yog vim muaj kev koom tes ntawm Google. Namely, ua ke ntawm peb yam nram qab no:

  1. obsessive txhawb Istio los ntawm Google;
  2. tsim nyog tsis pom zoo, tus cwj pwm tseem ceeb rau qhov project;
  3. Tsis ntev los no skyrocketing nrov ntawm Kubernetes, lub cim xeeb ntawm uas tseem tshiab.

Ua ke, cov xwm txheej no coalesce rau hauv ib hom intoxicating, anoxic ib puag ncig uas lub peev xwm rau kev txiav txim siab wanes, tawm tsuas yog ntau yam txawv txawv. tulip mania.

Los ntawm Linkerd txoj kev xav, qhov no yog… Kuv yuav piav qhia nws yog ib qho koob hmoov sib xyaw. Kuv txhais tau tias, nws yog qhov zoo heev uas cov kev pabcuam mesh tau nkag mus rau hauv lub ntsiab lus - uas tsis yog qhov xwm txheej hauv 2016 thaum Linkerd thawj zaug tshwm sim thiab nws nyuaj heev kom tau txais tib neeg kev mloog ntawm qhov project. Tam sim no tsis muaj teeb meem li ntawd! Tab sis cov xov xwm tsis zoo yog tias qhov kev pabcuam mesh qhov xwm txheej yog qhov tsis meej pem niaj hnub no uas nws yuav luag tsis tuaj yeem txiav txim siab seb cov haujlwm twg tiag tiag nyob rau hauv pab pawg mesh (tso cia ib leeg xam seb qhov twg yog qhov zoo tshaj plaws rau ib qho kev siv tshwj xeeb). Qhov no yeej tau txais nyob rau hauv txoj kev ntawm txhua tus neeg (thiab twv yuav raug hu qee zaum Istio lossis lwm qhov project zoo dua li Linkerd, vim qhov tom kawg tsis yog ib qho loj-haum-tag nrho cov kev daws teeb meem).

Los ntawm Linkerd sab, peb lub tswv yim tau ua rau tsis quav ntsej lub suab nrov, txuas ntxiv tsom mus rau kev daws cov teeb meem tiag tiag hauv zej zog, thiab tseem ceeb tos kom lub hype txo qis. Thaum kawg qhov hype yuav txo qis thiab peb tuaj yeem ua haujlwm txuas ntxiv hauv kev thaj yeeb nyab xeeb.

Txog thaum ntawd, peb txhua tus yuav tsum ua siab ntev.

Cov kev pabcuam mesh puas yuav pab tau rau kuv, tus kws tshaj lij software tsim nyog?

Daim ntawv nug nram qab no yuav pab teb lo lus nug no:

Koj puas cuam tshuam tshwj xeeb nrog kev siv ntawm kev lag luam logic? Hauv qhov no, kev pabcuam mesh yuav tsis muaj txiaj ntsig rau koj. Ntawd yog, tau kawg, koj tuaj yeem txaus siab rau nws, tab sis qhov tseeb, kev pabcuam mesh yuav tsum tsis txhob cuam tshuam ncaj qha rau txhua yam hauv koj ib puag ncig. Cia li ua haujlwm rau yam koj tau them rau.

Koj puas tuav lub platform hauv lub tuam txhab uas siv Kubernetes? Yog lawm, nyob rau hauv rooj plaub no koj xav tau ib qho kev pabcuam mesh (tau kawg, yog tias koj tsis siv K8s tsuas yog khiav lub monolith lossis batch processing - tab sis tom qab ntawd kuv xav nug vim li cas koj xav tau K8s). Feem ntau, koj yuav pom koj tus kheej nyob rau hauv ib qho xwm txheej nrog ntau microservices sau los ntawm cov neeg sib txawv. Lawv txhua tus muaj kev cuam tshuam nrog ib leeg thiab raug khi rau hauv ib qho kev sib txuas ntawm kev ua haujlwm ntawm lub sijhawm ua haujlwm, thiab koj yuav tsum nrhiav txoj hauv kev los daws txhua qhov no. Kev siv Kubernetes tso cai rau koj xaiv qhov kev pabcuam mesh "rau koj tus kheej". Ua li no, paub koj tus kheej nrog lawv cov peev xwm thiab cov yam ntxwv thiab teb cov lus nug ntawm seb puas muaj ib qho haujlwm twg haum rau koj txhua tus (Kuv pom zoo kom pib koj qhov kev tshawb fawb nrog Linkerd).

Puas yog koj tab tom khiav lub platform rau lub tuam txhab uas tsis siv Kubernetes tab sis siv microservices? Hauv qhov no, kev pabcuam mesh yuav muaj txiaj ntsig zoo rau koj, tab sis nws siv yuav tsis tseem ceeb. Tau kawg koj ua tau qog kev pabcuam mesh los ntawm kev tuav ib pawg ntawm cov neeg sawv cev, tab sis qhov txiaj ntsig tseem ceeb ntawm Kubernetes yog tus qauv xa tawm: kev tswj hwm tus neeg sawv cev no yuav xav tau ntau lub sijhawm, kev siv zog thiab nqi.

Koj puas yog tus saib xyuas lub platform hauv lub tuam txhab uas ua haujlwm nrog monoliths? Hauv qhov no, tej zaum koj yuav tsis xav tau kev pabcuam mesh. Yog tias koj ua haujlwm nrog monoliths (lossis txawm tias sau ntawm monoliths) uas tau hais kom zoo thiab tsis tshua muaj kev hloov pauv kev sib cuam tshuam, ces qhov kev pabcuam mesh muaj me me rau koj. Yog li koj tuaj yeem tsis quav ntsej nws thiab vam tias nws ploj mus zoo li npau suav phem ...

xaus

Tej zaum, cov kev pabcuam mesh tseem yuav tsum tsis txhob raug hu ua "cov thev naus laus zis tshaj plaws hauv ntiaj teb" - qhov kev hwm tsis zoo no yuav yog rau bitcoin lossis AI. Tej zaum nws nyob rau saum tsib. Tab sis yog tias koj tawg los ntawm cov khaubncaws sab nraud povtseg ntawm cov suab nrov thiab din, nws pom tseeb tias qhov kev pabcuam mesh coj cov txiaj ntsig tiag tiag rau cov neeg tsim cov ntawv thov hauv Kubernetes.

Kuv xav kom koj sim Linkerd - txhim kho nws hauv Kubernetes pawg (lossis txawm tias Minikube ntawm lub laptop) yuav siv li 60 vib nas thisthiab koj tuaj yeem pom ntawm koj tus kheej qhov kuv tab tom tham txog.

FAQ

- Yog tias kuv tsis quav ntsej qhov kev pabcuam mesh, nws puas yuav ploj mus?
- Kuv yuav tsum poob siab rau koj: cov kev pabcuam mesh nrog peb lub sijhawm ntev.

- Tab sis kuv tsis xav siv qhov kev pabcuam mesh!
- Zoo, nws tsis tsim nyog! Tsuas yog nyeem kuv daim ntawv nug saum toj no kom pom tias koj tsawg kawg yuav tsum paub koj tus kheej nrog nws cov hauv paus.

- Puas yog nws tsis zoo qub ESB / nruab nrab nrog cov kua ntses tshiab?
- Kev pabcuam mesh cuam tshuam nrog kev ua haujlwm logic, tsis yog semantic. Qhov no yog lub ntsiab tsis zoo lub tsheb npav ua lag luam (EU). Khaws qhov kev sib cais no pab cov kev pabcuam mesh kom tsis txhob muaj txoj hmoo zoo ib yam.

- Kev pabcuam mesh txawv ntawm API rooj vag li cas?
Muaj ib lab kab lus hais txog qhov no. Tsuas yog google.

Envoy puas yog kev pabcuam mesh?
- Tsis yog, Envoy tsis yog kev pabcuam mesh, nws yog tus neeg rau zaub mov npe. Nws tuaj yeem siv los npaj cov kev pabcuam mesh (thiab ntau ntxiv - nws yog lub hom phiaj dav dav). Tab sis ntawm nws tus kheej, nws tsis yog kev pabcuam mesh.

- Network Service Mesh - Puas yog qhov kev pabcuam mesh?
- Tsis muaj. Txawm hais tias lub npe, qhov no tsis yog kev pabcuam mesh (koj nyiam li cas ntawm kev lag luam?).

- Puas yuav qhov kev pabcuam mesh pab nrog kuv qhov kev ua haujlwm asynchronous raws li kab lus?
- Tsis yog, kev pabcuam mesh yuav tsis pab koj.

- Qhov kev pabcuam mesh twg kuv yuav tsum siv?
- Linkerd, tsis muaj hlwb.

- Cov kab lus nqus! / Tus sau - ntawm xab npum!
- Thov qhia qhov txuas rau nws rau txhua tus phooj ywg kom lawv tuaj yeem ntseeg qhov no!

Kev lees paub

Raws li koj tuaj yeem twv los ntawm lub npe, tsab xov xwm no tau tshwm sim los ntawm Jay Kreps 'cov lus qhia zoo heev "Lub Log: Dab tsi txhua tus software engineer yuav tsum paub txog cov ntaub ntawv ntawm lub sijhawm tiag tiag kev sib koom ua ke". Kuv tau ntsib Jay kaum xyoo dhau los thaum ua kev xam phaj ntawm Linked In thiab nws tau txais kev tshoov siab rau kuv txij thaum ntawd los.

Thaum kuv nyiam hu kuv tus kheej yog "Linkerd tus tsim tawm", qhov tseeb yog tias kuv yog tus saib xyuas ntau dua ntawm README.md cov ntaub ntawv hauv ib qhov project. Ua haujlwm ntawm Linkerd hnub no heev, heev, heev ntau tib neeg, thiab qhov project no yuav tsis tuaj yeem ua tsis tau yog tias tsis muaj lub zej zog zoo ntawm cov neeg koom tes thiab cov neeg siv.

Thiab thaum kawg, tshwj xeeb ua tsaug rau tus tsim ntawm Linkerd, Oliver Gould (primus inter pares), leej twg, nrog rau kuv ntau xyoo dhau los, dived headlong rau hauv tag nrho cov fuss no nrog cov kev pab cuam mesh.

PS los ntawm tus txhais lus

Nyeem kuj ntawm peb blog:

Tau qhov twg los: www.hab.com