Inona no atao hoe Service Mesh?

Miarahaba indray!.. Amin'ny ankabeazan'ny fanombohan'ny fampianarana "Software Architect" Nanomana fandikan-teny mahasoa hafa izahay.

Inona no atao hoe Service Mesh?

Ny harato serivisy dia sosona fotodrafitrasa azo amboarina sy tsy misy fetra ilaina amin'ny fitantanam-pifandraisana midadasika mifototra amin'ny tambajotra eo amin'ny interface programan'ny fampiharana (API). Ny Service Mesh dia ahafahan'ny fifandraisana haingana, azo itokisana ary azo antoka eo amin'ny serivisy fotodrafitrasa fampiasa amin'ny container ary matetika ephemeral. Ny Service Mesh dia manome fahafaha-manao toy ny fitadiavana serivisy, fifandanjana entana, fanafenana, mangarahara, traceability, fanamarinana sy fanomezan-dΓ lana, ary fanohanana modely fanakatonana mandeha ho azy (mpandika faritra).
Ny harato serivisy dia mazΓ na ampiharina amin'ny fanomezana ny ohatra serivisy tsirairay miaraka amin'ny ohatra proxy, antsoina Sidecar. Sidecar mitantana ny fifandraisana eo amin'ny serivisy, manara-maso sy mamaha ny olana momba ny fiarovana, izany hoe ny zavatra rehetra azo alaina amin'ny serivisy tsirairay. Amin'izany fomba izany, ny mpamorona dia afaka manoratra, mitazona, ary manolotra fehezan-dalΓ na momba ny fampiharana amin'ny serivisy, ary ny mpitantana ny rafitra dia afaka miara-miasa amin'ny Service Mesh ary mampandeha ny fampiharana.

Istio avy amin'ny Google, IBM ary Lyft no rafitra mesh malaza indrindra amin'izao fotoana izao. Ary i Kubernetes, izay novolavolaina tany am-boalohany tao amin'ny Google, no hany rafitra orkestra kaontenera tohanan'i Istio. Miezaka mamorona dikan-teny Istio tohanana ara-barotra ireo mpivarotra. Mahaliana ny mahita ny zavatra vaovao azon'izy ireo entina amin'ny tetikasa open source.

Na izany aza, tsy Istio ihany no safidy satria ny fampiharana Service Mesh hafa dia novolavolaina. NOMEKO sidecar proxy no fampiharana malaza indrindra, araka izay azo tsaraina amin'ny tetikasa Buoyant, HashiCorp, Solo.io ary ny hafa. Misy ihany koa ny maritrano hafa: ny fitaovana teknolojia Netflix dia iray amin'ireo fomba fampiharana ny fampiasa Service Mesh amin'ny alΓ lan'ny tranomboky Ribbon, Hysterix, Eureka, Archaius, ary koa ny sehatra toy ny Azure Service Fabric.

Ny Service Mesh koa dia manana ny teny fiteniny manokana momba ny singa sy ny asany:

  • Rafitra fandrafetana kaontenera. Satria mihamaro hatrany ny kaontenera ampidirina ao amin'ny fotodrafitrasa fampiharana, ilaina ny fitaovana mitokana ho an'ny fanaraha-maso sy ny fitantanana ny kaontenera - rafitra orkestra amin'ny container. Kubernetes dia nibodo mafy an'io niche io, hany ka na ny mpifaninana aminy Docker Swarm sy Mesosphere DC/OS aza dia manolotra fampidirana miaraka amin'i Kubernetes ho solony.
  • Serivisy sy ohatra (Kubernetes Pods). Ny ohatra dia dika mitovy amin'ny microservice. Indraindray ny ohatra iray dia fitoeran-javatra iray. Ao amin'ny Kubernetes, misy ohatra iray ahitana vondrona kely misy kaontenera tsy miankina antsoina hoe pod. Mahalana ny mpanjifa no miditra mivantana amin'ny ohatra na pod; matetika izy ireo no miditra amin'ny serivisy, izay andiana tranga na pods (replika) mitovy, azo esorina ary mahazaka fahadisoana.
  • Sidecar Proxy. Sidecar Proxy dia miasa miaraka amin'ny ohatra iray na pod. Ny tanjon'ny Sidecar Proxy dia ny mamily na ny fifamoivoizana proxy avy amin'ny kaontenera iasany ary mamerina ny fifamoivoizana. Sidecar dia mifandray amin'ny Sidecar Proxies hafa ary mitantana amin'ny rafitra orkestra. Maro ny fampiharana Service Mesh mampiasa Sidecar Proxy mba hisakanana sy hitantanana ny fifamoivoizana rehetra miditra sy mivoaka amin'ny ohatra na pod.
  • Service Discovery. Rehefa mila mifandray amin'ny serivisy hafa ny ohatra iray dia mila mitady (hahita) ohatra iray salama sy azo ampiasaina amin'ny serivisy hafa izy. Amin'ny ankapobeny, ny ohatra dia manao fikarohana DNS. Ny rafitra orkestra kaontenera dia mitazona lisitr'ireo tranga izay vonona handray fangatahana ary manome interface tsara ho an'ny fangatahana DNS.
  • Load balancing. Ny ankamaroan'ny rafitra orkestra kaontenera dia manome fifandanjana entana amin'ny sosona 4 (fitaterana). Service Mesh dia mametraka fifandanjana entana sarotra kokoa amin'ny sosona 7 (ambaratonga fampiharana), manankarena amin'ny algorithm ary mahomby kokoa amin'ny fitantanana ny fifamoivoizana. Azo ovaina amin'ny alalan'ny API ny firafitry ny fampifandanjana entana, ahafahanao mandrindra ny fametrahana manga-maitso na canary.
  • fanafenana. Ny Service Mesh dia afaka manisy encryption sy mamadika ny fangatahana sy valiny, manala io enta-mavesatra io amin'ny serivisy. Ny Service Mesh dia afaka manatsara ny fampandehanana amin'ny alΓ lan'ny fametrahana laharam-pahamehana na fampiasana indray ny fifandraisana maharitra efa misy, mampihena ny filana kajy lafo mba hamoronana fifandraisana vaovao. Ny fampiharana mahazatra indrindra amin'ny encryption fifamoivoizana dia TLS (mTLS), izay misy fotodrafitrasa fototra ho an'ny daholobe (PKI) mamorona sy mizara mari-pankasitrahana sy fanalahidy hampiasain'ny Sidecar Proxy.
  • Fanamarinana sy Fanomezana. Ny Service Mesh dia afaka manome alalana sy manamarina ny fangatahana natao avy any ivelany na ao anatin'ny fampiharana, mandefa fangatahana voamarina ihany amin'ny tranga.
  • Fanohanana modely fanakatonana mandeha ho azy. Manohana ny Service Mesh fomba fiatoana fiara.

Ny ampahany amin'ny fampiharana Service Mesh izay mitantana ny fifamoivoizana amin'ny tambajotra eo anelanelan'ny tranga dia antsoina Data fiaramanidina. Mamorona sy manaparitaka ny tefy mifehy ny fitondran-tena Data fiaramanidina, dia atao amin'ny fampiasana misaraka Fiaramanidina fanaraha-maso. Fiaramanidina fanaraha-maso amin'ny ankapobeny dia ahitana na natao hifandray amin'ny API, CLI, na GUI hifehy ny fampiharana.

Inona no atao hoe Service Mesh?
Ny fiaramanidina fanaraha-maso ao amin'ny Service Mesh dia mizara ny fanamafisana eo amin'ny Sidecar Proxy sy ny Data Plane.

Ny maritrano Service Mesh dia matetika ampiasaina amin'ny famahana olana saro-pady amin'ny fampiasana kaontenera sy microservices. Mpisava lalana eny an-kianja microservices dia orinasa toa an'i Lyft, Netflix ary Twitter, izay manome serivisy maharitra ho an'ny mpampiasa an-tapitrisany eran'izao tontolo izao. (Ity misy fijerena amin'ny antsipiriany ny sasany amin'ireo fanamby ara-javakanto natrehan'i Netflix.). Ho an'ny fampiharana tsy dia mitaky loatra, ny maritrano tsotra kokoa dia mety ho ampy.

Ny maritrano Service Mesh dia tsy azo inoana fa ho valin'ny fampandehanana fampiharana rehetra sy ny olana momba ny fandefasana. Ny mpanao mari-trano sy ny mpamorona dia manana fitaovam-piadiana goavana, ary ny iray amin'izy ireo ihany no tantanana, izay, amin'ny asa maro, dia tsy maintsy mamaha ny iray ihany - fantsika fantsika. Microservices Reference Architecture avy amin'ny NGINX, ohatra, dia ahitana modely maro samihafa izay manome tohin'ny fomba famahana olana amin'ny fampiasana microservices.

Ireo singa mitambatra amin'ny maritrano Service Mesh, toy ny NGINX, container, Kubernetes, ary microservices ho fomba ara-javakanto, dia mety hamokatra mitovy amin'ny fampiharana tsy serivisy Mesh. Ohatra, ny Istio dia natao ho rafitra mesh feno serivisy, fa ny modularity dia midika fa ny mpamorona dia afaka misafidy sy mampihatra afa-tsy ny singa teknolojia ilainy. Miaraka amin'izany ao an-tsaina dia zava-dehibe ny mamolavola fahatakarana mazava momba ny foto-kevitry ny Service Mesh, na dia tsy azonao antoka aza fa ho afaka hampihatra izany tanteraka amin'ny fampiharanao ianao.

Monoliths modular sy DDD

Source: www.habr.com

Add a comment