Kodi Service Mesh ndi chiyani?

Moni kachiwiri!.. Madzulo oyambira maphunziro "Software Architect" Takonza zomasulira zina zothandiza.

Kodi Service Mesh ndi chiyani?

Ma mesh a service ndi gawo losasinthika, locheperako lomwe limafunikira kuti muzitha kulumikizana ndi netiweki pakati pa njira zolumikizirana ndi mapulogalamu (APIs). Service Mesh imathandizira kulumikizana kwachangu, kodalirika komanso kotetezeka pakati pa ntchito zokhala ndi zida komanso nthawi zambiri za ephemeral application. Service Mesh imapereka mphamvu monga kupeza ntchito, kusanja katundu, kubisa, kuwonekera, kufufuza, kutsimikizira ndi kuvomereza, ndi chithandizo chamtundu wozimitsa okha (wophulika).
Ma mesh a service nthawi zambiri amakhazikitsidwa popereka gawo lililonse lautumiki ndi fanizo la proxy, lotchedwa Sidecar. Sidecar gwirani zolankhulana pakati pa mautumiki, kuyang'anira ndi kuthetsa nkhani za chitetezo, ndiko kuti, chirichonse chomwe chingathe kuchotsedwa ku ntchito zapayekha. Mwanjira iyi, opanga amatha kulemba, kusunga, ndi kutumiza ma code ogwiritsira ntchito muntchito, ndipo oyang'anira dongosolo amatha kugwira ntchito ndi Service Mesh ndikuyendetsa pulogalamuyi.

Istio yochokera ku Google, IBM ndi Lyft pakadali pano ndi yodziwika bwino kwambiri yomanga ma mesh. Ndipo Kubernetes, yomwe idapangidwa koyambirira ku Google, tsopano ndiye njira yokhayo yanyimbo yothandizidwa ndi Istio. Ogulitsa akuyesera kupanga mitundu yothandizidwa ndi malonda a Istio. Zidzakhala zosangalatsa kuwona zatsopano zomwe angabweretse ku polojekiti yotseguka.

Komabe, Istio si njira yokhayo yomwe njira zina za Service Mesh zikupangidwira. Chitsanzo sidecar proxy ndiye kukhazikitsidwa kodziwika kwambiri, monga tingayesedwe ndi ma projekiti a Buoyant, HashiCorp, Solo.io ndi ena. Palinso njira zina zopangira zomangamanga: chida chaukadaulo cha Netflix ndi imodzi mwama njira omwe ntchito ya Service Mesh imayendetsedwa kudzera mu library ya Ribbon, Hysterix, Eureka, Archaius, komanso nsanja monga Azure Service Fabric.

Service Mesh ilinso ndi mawu akeake azinthu ndi ntchito zake:

  • Chida cha orchestration framework. Pamene zotengera zochulukira zikuwonjezeredwa kuzinthu zogwiritsira ntchito, pakufunika chida chapadera chowunikira ndi kuyang'anira zotengera - chimango choyimba chidebe. Kubernetes yakhala yokhazikika iyi, kotero kuti ngakhale omwe akupikisana nawo kwambiri Docker Swarm ndi Mesosphere DC/OS amapereka kuphatikiza ndi Kubernetes ngati njira ina.
  • Ntchito ndi Zochitika (Kubernetes Pods). Chitsanzo ndi kopi imodzi yokha ya microservice. Nthawi zina chitsanzo chimodzi ndi chidebe chimodzi. Ku Kubernetes, chitsanzo chimakhala ndi kagulu kakang'ono ka zotengera zodziyimira pawokha zotchedwa pod. Makasitomala sapezeka kawirikawiri pamwambo kapena podulira mwachindunji; nthawi zambiri, amapeza chithandizo, chomwe chimakhala chofanana, chowopsa komanso chololera zolakwika kapena ma pod (zofanizira).
  • Sidecar Proxy. Sidecar Proxy imagwira ntchito ndi chitsanzo chimodzi kapena pod. Cholinga cha Sidecar Proxy ndikuyendetsa kapena kuyendetsa magalimoto obwera kuchokera ku chidebe chomwe chimagwira ntchito ndikubweza magalimoto. Sidecar imalumikizana ndi ma Sidecar Proxies ena ndipo imayendetsedwa ndi orchestration framework. Zokhazikitsa zambiri za Service Mesh zimagwiritsa ntchito Sidecar Proxy kuletsa ndikuwongolera kuchuluka kwa magalimoto mkati ndi kunja kwa chochitika kapena pod.
  • Kupeza Service. Nthawi ikafunika kulumikizana ndi ntchito ina, ikufunika kupeza (kuzindikira) zochitika zabwino komanso zopezeka za mautumiki ena. Kawirikawiri, chitsanzocho chimapanga zofufuza za DNS. Chida cha orchestration chimasunga mndandanda wa zochitika zomwe zakonzeka kulandira zopempha ndipo zimapereka mawonekedwe a mafunso a DNS.
  • Katundu kusanja. Mitundu yambiri yoyimba zotengera imapereka kusanja kwa katundu pagawo 4 (zoyendera). Service Mesh imagwiritsa ntchito kusanja kwazinthu zovuta kwambiri pagawo 7 (mulingo wogwiritsa ntchito), wokhala ndi ma aligorivimu komanso othandiza kwambiri pakuwongolera magalimoto. Zokonda zolemetsa zitha kusinthidwa pogwiritsa ntchito API, kukulolani kuti muyike zobiriwira zobiriwira kapena canary.
  • Kubisa. Service Mesh imatha kubisa ndi kubisa zopempha ndi mayankho, ndikuchotsa zolemetsazi pazantchito. Service Mesh imathanso kupititsa patsogolo magwiridwe antchito poika patsogolo kapena kugwiritsanso ntchito zolumikizira zomwe zilipo kale, kuchepetsa kufunikira kwa kuwerengera kokwera mtengo kuti apange maulumikizidwe atsopano. Kukhazikitsa kofala kwa kubisa kwamagalimoto ndi mutual TLS (mTLS), komwe a public key infrastructure (PKI) imapanga ndikugawa masatifiketi ndi makiyi kuti agwiritsidwe ntchito ndi Sidecar Proxy.
  • Kutsimikizira ndi Kuvomerezeka. Service Mesh ikhoza kuvomereza ndikutsimikizira zopempha zomwe zapangidwa kuchokera kunja kapena mkati mwa pulogalamuyi, kutumiza zopempha zovomerezeka zokha.
  • Thandizo lachifaniziro chozimitsa Auto. Chithandizo cha Service Mesh auto shutdown chitsanzo, zomwe zimalekanitsa zochitika zopanda thanzi ndiyeno pang'onopang'ono zimawabwezera ku dziwe la zochitika zathanzi zikafunika.

Gawo la pulogalamu ya Service Mesh yomwe imayang'anira kuchuluka kwa maukonde pakati pazochitika imatchedwa Ndege ya Data. Pangani ndi kutumiza masinthidwe omwe amawongolera machitidwe Ndege ya Data, imachitidwa pogwiritsa ntchito padera Control Ndege. Control Ndege nthawi zambiri imaphatikizapo kapena idapangidwa kuti ilumikizane ndi API, CLI, kapena GUI kuti iziwongolera kugwiritsa ntchito.

Kodi Service Mesh ndi chiyani?
Dongosolo Loyang'anira mu Service Mesh limagawa masinthidwe pakati pa Sidecar Proxy ndi Data Plane.

Kamangidwe ka Service Mesh nthawi zambiri amagwiritsidwa ntchito kuthana ndi zovuta zogwirira ntchito pogwiritsa ntchito zotengera ndi ma microservices. Apainiya m’munda microservices ndi makampani monga Lyft, Netflix ndi Twitter, omwe amapereka chithandizo chokhazikika kwa mamiliyoni a ogwiritsa ntchito padziko lonse lapansi. (Nayi kuyang'ana mwatsatanetsatane zovuta zina zomanga zomwe Netflix adakumana nazo.). Pazinthu zosafunikira kwenikweni, zomanga zosavuta zitha kukhala zokwanira.

Zomangamanga za Service Mesh sizingakhale yankho ku zovuta zonse zamagwiritsidwe ntchito ndi kutumiza. Okonza mapulani ndi omanga ali ndi zida zazikulu za zida, ndipo imodzi yokha ndi nyundo, yomwe, pakati pa ntchito zambiri, iyenera kuthetsa imodzi yokha - misomali yomenyetsa. Microservices Reference Architecture kuchokera ku NGINX, mwachitsanzo, imaphatikizapo mitundu ingapo yosiyanasiyana yomwe imapereka njira zopitilira zothetsera mavuto pogwiritsa ntchito ma microservices.

Zinthu zomwe zimasonkhana muzomangamanga za Service Mesh, monga NGINX, makontena, Kubernetes, ndi ma microservices ngati njira yomanga, zitha kukhala zopindulitsanso pakukhazikitsa kosagwirizana ndi Service Mesh. Mwachitsanzo, Istio idapangidwa kuti ikhale yomanga ma mesh athunthu, koma mawonekedwe ake amatanthauza kuti opanga amatha kusankha ndikukhazikitsa zida zaukadaulo zomwe amafunikira. Poganizira izi, ndikofunikira kumvetsetsa bwino lingaliro la Service Mesh, ngakhale simukutsimikiza kuti mudzatha kuligwiritsa ntchito mokwanira.

Modular monoliths ndi DDD

Source: www.habr.com

Kuwonjezera ndemanga