Service Mesh yog dab tsi?

Nyob zoo dua!.. Nyob rau lub ntees pib ntawm kev kawm "Software Architect" Peb tau npaj lwm qhov kev txhais lus tseem ceeb.

Service Mesh yog dab tsi?

Ib qho kev pabcuam mesh yog cov txheej txheem tsim nyog, qis-latency infrastructure txheej uas xav tau los tswj cov ntim loj ntawm kev sib txuas lus hauv network raws li kev sib txuas lus ntawm daim ntawv thov programming interfaces (APIs). Kev Pabcuam Mesh ua rau kev sib txuas lus ceev, txhim khu kev qha thiab ruaj ntseg ntawm cov thawv ntim khoom thiab feem ntau ephemeral daim ntawv thov kev pabcuam kev pabcuam. Kev Pabcuam Mesh muab cov peev txheej xws li kev pabcuam nrhiav pom, kev sib npaug ntawm kev nkag, kev nkag siab, kev pom tseeb, kev taug qab, kev lees paub thiab kev tso cai, thiab kev txhawb nqa nws pib kaw (Circuit Court tej fais fab).
Ib qho kev pabcuam mesh feem ntau yog siv los ntawm kev muab txhua qhov kev pabcuam nrog rau tus piv txwv, hu ua Sidecar. Sidecar tswj kev sib txuas lus ntawm cov kev pabcuam, saib xyuas thiab daws teeb meem kev nyab xeeb, uas yog, txhua yam uas tuaj yeem ua tiav los ntawm cov kev pabcuam tus kheej. Txoj kev no, cov neeg tsim khoom tuaj yeem sau, khaws cia, thiab ua haujlwm rau daim ntawv thov code hauv cov kev pabcuam, thiab cov thawj coj hauv lub cev tuaj yeem ua haujlwm nrog Service Mesh thiab khiav daim ntawv thov.

Istio los ntawm Google, IBM thiab Lyft yog tam sim no lub npe nrov tshaj plaws kev pabcuam mesh architecture. Thiab Kubernetes, uas yog tsim los ntawm Google, tam sim no tsuas yog lub thawv orchestration moj khaum txhawb nqa los ntawm Istio. Cov neeg muag khoom tab tom sim tsim cov khoom lag luam txhawb nqa ntawm Istio. Nws yuav nthuav kom pom dab tsi tshiab uas lawv tuaj yeem coj mus rau qhov qhib qhov project.

Txawm li cas los xij, Istio tsis yog tib txoj kev xaiv raws li lwm qhov Kev Pabcuam Mesh tau tsim los. Qauv sidecar proxy yog qhov kev siv nrov tshaj plaws, raws li tuaj yeem txiav txim los ntawm cov haujlwm Buoyant, HashiCorp, Solo.io thiab lwm yam. Kuj tseem muaj lwm cov qauv tsim: Netflix cov cuab yeej cuab yeej cuab tam yog ib txoj hauv kev uas Kev Pabcuam Mesh ua haujlwm tau siv los ntawm Ribbon, Hysterix, Eureka, Archaius cov tsev qiv ntawv, nrog rau cov platforms xws li Azure Service Fabric.

Kev Pabcuam Mesh kuj muaj nws tus kheej cov lus siv rau kev pabcuam thiab kev ua haujlwm:

  • Thawv orchestration moj khaum. Raws li ntau thiab ntau lub ntim tau ntxiv rau hauv daim ntawv thov kev tsim vaj tsev, yuav tsum muaj cov cuab yeej cais rau kev saib xyuas thiab tswj cov ntim khoom - lub thawv orchestration moj khaum. Kubernetes tau ruaj khov nyob hauv lub niche no, ntau npaum li ntawd txawm tias nws cov neeg sib tw tseem ceeb Docker Swarm thiab Mesosphere DC / OS muab kev koom ua ke nrog Kubernetes ua lwm txoj hauv kev.
  • Kev Pabcuam thiab Piv Txwv (Kubernetes Pods). Ib qho piv txwv yog ib daim ntawv luam ntawm microservice. Qee zaum ib qho piv txwv yog ib lub thawv. Hauv Kubernetes, ib qho piv txwv muaj ib pab pawg me me ntawm cov thawv ntim ywj pheej hu ua pod. Cov neeg siv khoom tsis tshua nkag mus rau ib qho piv txwv lossis pods ncaj qha; ntau zaus, lawv nkag mus rau qhov kev pabcuam, uas yog cov txheej txheem zoo ib yam, tuaj yeem ua tau thiab ua txhaum cai lossis cov pods (replicas).
  • Sidecar Proxy. Sidecar Proxy ua haujlwm nrog ib qho piv txwv lossis pod. Lub ntsiab lus ntawm Sidecar Proxy yog txoj kev los yog lub npe tsheb khiav los ntawm lub thawv nws ua haujlwm nrog thiab rov qab mus. Sidecar cuam tshuam nrog lwm tus Sidecar Proxies thiab tau tswj hwm los ntawm lub hauv paus kev ua haujlwm. Ntau qhov Kev Pabcuam Mesh siv siv Sidecar Proxy los cuam tshuam thiab tswj tag nrho cov tsheb khiav hauv thiab tawm ntawm ib qho piv txwv lossis pod.
  • Kev Pabcuam Discovery. Thaum ib qho piv txwv xav tau kev sib txuas lus nrog lwm qhov kev pabcuam, nws yuav tsum nrhiav (piv txwv li) kev noj qab haus huv thiab muaj nyob ntawm lwm qhov kev pabcuam. Feem ntau, qhov piv txwv ua DNS lookups. Lub thawv orchestration moj khaum tuav cov npe ntawm cov xwm txheej uas npaj tau txais kev thov thiab muab qhov sib txuas rau DNS queries.
  • Load ntsuas. Feem ntau cov thawv orchestration moj khaum muab cov khoom sib npaug ntawm txheej 4 (kev thauj mus los). Kev Pabcuam Mesh siv ntau qhov sib npaug ntawm cov khoom sib npaug ntawm txheej 7 (qib daim ntawv thov), nplua nuj nyob rau hauv algorithms thiab muaj txiaj ntsig zoo hauv kev tswj tsheb. Load balancing settings tuaj yeem hloov pauv siv API, tso cai rau koj los tsim kho xiav-ntsuab lossis canary deployments.
  • Kev mus yuam kev. Service Mesh tuaj yeem encrypt thiab decrypt cov lus thov thiab cov lus teb, tshem tawm lub nra ntawm cov kev pabcuam. Kev Pabcuam Mesh kuj tuaj yeem txhim kho kev ua tau zoo los ntawm kev ua ntej lossis rov siv cov kev sib txuas uas twb muaj lawm, txo qhov kev xav tau ntawm kev suav kim los tsim kev sib txuas tshiab. Kev siv ntau tshaj plaws ntawm kev nkag mus encryption yog mutual TLS (mTLS), qhov twg pej xeem tseem ceeb infrastructure (PKI) tsim thiab faib cov ntawv pov thawj thiab cov yuam sij rau kev siv los ntawm Sidecar Proxy.
  • Kev lees paub thiab kev tso cai. Qhov Kev Pabcuam Mesh tuaj yeem tso cai thiab lees paub qhov kev thov uas tau ua los ntawm sab nraud lossis sab hauv daim ntawv thov, xa tsuas yog cov ntawv thov raug cai rau cov xwm txheej.
  • Nws pib kaw qauv kev them nyiaj yug. Kev Pabcuam Mesh txhawb nqa nws pib kaw qauv, uas cais cov xwm txheej tsis zoo thiab tom qab ntawd maj mam rov qab mus rau lub pas dej ntawm cov xwm txheej zoo thaum xav tau.

Ib feem ntawm Daim Ntawv Thov Kev Pabcuam Mesh uas tswj xyuas kev sib txuas hauv network ntawm qhov xwm txheej yog hu ua Lub dav hlau Data. Tsim thiab siv kev teeb tsa uas tswj tus cwj pwm Lub dav hlau Data, yog ua los ntawm kev sib cais Tswj lub dav hlau. Tswj lub dav hlau feem ntau suav nrog lossis tsim los txuas rau API, CLI, lossis GUI los tswj daim ntawv thov.

Service Mesh yog dab tsi?
Kev Tswj Dav Hlau hauv Kev Pabcuam Mesh faib cov kev teeb tsa ntawm Sidecar Proxy thiab Cov Ntaub Ntawv Dav Hlau.

Service Mesh architecture feem ntau yog siv los daws cov teeb meem kev ua haujlwm nyuaj uas siv cov ntim thiab microservices. Pioneers hauv teb microservices yog cov tuam txhab xws li Lyft, Netflix thiab Twitter, uas muab kev pabcuam ruaj khov rau ntau lab tus neeg siv thoob ntiaj teb. (Nov yog cov ncauj lus kom ntxaws txog qee qhov kev sib tw hauv vaj tse uas Netflix tau ntsib.). Rau cov ntawv thov tsawg dua, cov qauv yooj yim dua yuav txaus.

Service Mesh architecture tsis zoo li yuav yog cov lus teb rau txhua daim ntawv thov kev ua haujlwm thiab cov teeb meem xa khoom. Architects thiab developers muaj ib tug lossis loj arsenal ntawm cov cuab yeej, thiab tsuas yog ib tug ntawm lawv yog ib tug rauj, uas, ntawm ntau yam dej num, yuav tsum daws tsuas yog ib tug - hammering rau tes. Microservices Reference Architecture los ntawm NGINXPiv txwv li, suav nrog ntau tus qauv sib txawv uas muab kev txuas ntxiv ntawm kev daws teeb meem siv microservices.

Cov ntsiab lus uas tuaj ua ke hauv Kev Pabcuam Mesh architecture, xws li NGINX, ntim, Kubernetes, thiab microservices raws li kev tsim vaj tsev, tuaj yeem ua tau zoo sib npaug hauv kev siv tsis yog Kev Pabcuam Mesh. Piv txwv li, Istio tau tsim los ua ib qho kev pabcuam ua tiav mesh architecture, tab sis nws qhov kev hloov pauv txhais tau tias cov neeg tsim khoom tuaj yeem xaiv thiab siv tsuas yog cov khoom siv thev naus laus zis uas lawv xav tau. Nrog rau qhov no hauv siab, nws yog ib qho tseem ceeb los tsim kom muaj kev nkag siab meej ntawm Service Mesh lub tswv yim, txawm tias koj tsis paub tseeb tias koj yuav muaj peev xwm ua tiav nws hauv koj daim ntawv thov.

Modular monoliths thiab DDD

Tau qhov twg los: www.hab.com

Ntxiv ib saib