Adeegga xogta mesh diyaaradda vs. diyaaradda xakamaynta

Hello, Habr! Waxaan dareenkaaga ku soo bandhigayaa tarjumaad maqaalka "Diyaaradda xogta mesh-ka adeegga vs diyaaradda xakamaynta" qoraa Matt Klein.

Adeegga xogta mesh diyaaradda vs. diyaaradda xakamaynta

Markan, waxaan "doonayay oo turjumay" sharaxaadda labada qaybood ee mesh adeegga, diyaaradda xogta iyo diyaaradda xakamaynta. Sharaxaaddani waxay iigu muuqatay mid la fahmi karo oo ugu xiisaha badan, oo ay ugu muhiimsan tahay in la fahmo "Ma lagama maarmaan ma tahay?"

Maaddaama fikradda "mesh-ka adeegga" uu noqday mid caan ah labadii sano ee la soo dhaafay (Maqaalka asalka ah Oktoobar 10, 2017) iyo tirada ka qaybgalayaasha booska ayaa kordhay, waxaan arkay koror u dhigma oo jaahwareer ah oo ka dhex jira dhammaan dadka oo dhan. bulshada teknoolajiyada ee ku saabsan sida loo isbarbardhigo loona barbardhigo xalalka kala duwan.

Xaaladda waxa si fiican u soo koobay taxanaha soo socda ee tweets ee aan qoray bishii Luulyo:

Jahwareerka mesh adeega #1: Linkerd ~ = Nginx ~ = Haproxy ~ = Ergeyga. Midkoodna lama sina Istio. Istio waa wax gabi ahaanba ka duwan. 1 /

Kuwa ugu horreeya waa si fudud diyaaradaha xogta. Naftooda waxba ma qabtaan. Waa inay niyadda ku hayaan wax dheeraad ah. 2/

Istio waa tusaale ka mid ah diyaarad kontorool oo isku xirta qaybaha. Tani waa lakab kale. /dhamaad

Tweet-yadii hore waxay xuseen dhowr mashruuc oo kala duwan (Linkerd, NGINX, HAProxy, Ergayga, iyo Istio), laakiin waxa ka sii muhiimsan soo bandhigida fikradaha guud ee diyaaradda xogta, mesh adeegga, iyo diyaaradda xakamaynta. Maqaalkan, waxaan dib u qaadi doonaa oo ka hadlayaa waxa aan ula jeedo ereyada "diyaaradaha xogta" iyo "diyaaradaha xakamaynta" oo ah heer aad u sarreeya, ka dibna waxaan ka hadli doonaa sida shuruudaha loo dabaqo mashaariicda lagu xusay tweets.

Waa maxay mesh adeeg, runtii?

Adeegga xogta mesh diyaaradda vs. diyaaradda xakamaynta
Jaantuska 1: Dulmarka mesh adeega

Jaantus 1 waxay muujinaysaa fikradda mesh adeega heerkeeda aasaasiga ah. Waxaa jira afar kooxood oo adeeg ah (AD). Tusaale kasta oo adeeg waxa uu la xidhiidha server-ka wakiil ee degaanka. Dhammaan taraafikada shabakadaha (HTTP, REST, gRPC, Redis, iwm.) ee ka imanaya hal tusaale oo codsi ah waxa la sii maraa wakiil maxalli ah oo loo diro kooxaha adeegga dibadda ee ku habboon. Sidan, tusaale ahaan codsigu kama warqabo shabakada guud ahaan wuxuuna ka warqabaa oo kaliya wakiilkeeda maxalliga ah. Dhaqan ahaan, shabakada nidaamka qaybsan ayaa laga saaray adeegga.

Diyaarada xogta

Adeegga mesh-ka, server-ka wakiil ka ah ee ku yaal gudaha arjiga wuxuu fuliyaa hawlaha soo socda:

  • Helitaanka adeegga. Waa maxay adeegyada/ codsiyada loo heli karo codsigaaga?
  • Hubinta caafimaadka. Tusaalooyinka adeegga lagu soo celiyay helitaanka adeegga ma caafimaad qabaan oo diyaar ma u yihiin inay aqbalaan taraafikada shabakadda? Tan waxaa ku jiri kara labadaba firfircoon (tusaale jawaab celin/baaritaan caafimaad) iyo mid dadban (tusaale iyadoo la adeegsanayo 3 khalad oo isku xigta oo 5xx ah taasoo tilmaan u ah xaalad adeeg aan caafimaad qabin) hubinta caafimaadka.
  • Jideynta. Markaad hesho codsiga "/foo" ee adeega REST, kooxdee adeeg ayaa codsiga loo dirayaa?
  • Isku dheelitirka culeyska. Marka koox adeeg la doorto inta lagu guda jiro dariiqa, adeeggee adeeggee loo diri karaa? Waqtigee? Waa maxay goobaha jebinta wareegga? Haddii codsigu guuldareysto, ma in dib loo tijaabiyo?
  • Xaqiijinta iyo oggolaanshaha. Codsiyada soo socda, adeegga wicitaanka ma lagu aqoonsan karaa si qarsoodi ah/loo oggolaaday iyadoo la isticmaalayo mTLS ama hab kale? Haddii la aqoonsan yahay/la oggolaaday, ma loo oggol yahay in la wacdo hawlgalka la codsado (dhamaadka) ee adeegga mise jawaab aan la xaqiijin ayaa la soo celiyaa?
  • U fiirsashada. Tirokoob tafatiran, Log/Log, iyo xogta raadraaca ee la qaybiyey waa in loo sameeyaa codsi kasta si hawl-wadeenadu u fahmaan socodka gaadiidka ee la qaybiyey iyo arrimaha ciribtirka marka ay soo baxaan.

Diyaaradda xogta ayaa mas'uul ka ah dhammaan dhibcihii hore ee mesh adeegga. Dhab ahaantii, wakiilka maxalliga ah ee adeegga (sidecar) waa diyaaradda xogta. Si kale haddii loo dhigo, diyaaradda xogta ayaa mas'uul ka ah baahinta, gudbinta, iyo la socodka shuruudo ku xiran xirmo kasta oo shabakad ah oo loo diro ama laga soo diro adeegga.

Diyaaradda xakamaynta

Shabakadda soo saarista ee wakiil maxalli ah uu ku bixiyo diyaaradda xogta waa sixir(?). Si kastaba ha ahaatee, sidee buu wakiilku dhab ahaan u ogaadaa jidka "/foo" ee adeega B? Sidee xogta helitaanka adeegga ee ay buuxiyeen codsiyada wakiillada loo isticmaali karaa? Sidee loo habeeyey cabbirada isu dheellitirnaanta rarka, wakhti goynta, wareegga wareegga, iwm.? Sideed u geyn kartaa arjiga adigoo isticmaalaya habka buluug/cagaaran ama habka kala guurka taraafiga ee quruxda badan? Yaa habeeya xaqiijinta iyo dejinta oggolaanshaha ee nidaamka oo dhan?

Dhammaan alaabta kor ku xusan waxay ku hoos jiraan xakamaynta diyaaradda xakamaynta ee mesh adeegga. Diyaaradda koontaroolaysa waxay qaadataa tiro wakiillo ah oo aan waddan lahayn waxayna u beddeshaa nidaam qaybsan.

Waxaan u maleynayaa in sababta tignoolajiyada badani ay u arkaan fikradaha kala duwan ee xogta diyaaradda iyo koontaroolka diyaaradda inay jahawareersan yihiin sababtoo ah dadka intooda badan diyaaradda xogta waa la yaqaan halka diyaaradda xakamaynta ay tahay shisheeye / aan la fahmin. Waxaan la shaqaynaynay router-yada isku-xidhka jireed iyo shiishadaha muddo dheer. Waxaan fahamsanahay in xirmooyinka/codsiyada ay u baahan yihiin inay ka baxaan barta A ilaa barta B iyo inaan isticmaali karno qalab iyo software si aan tan u samayno. Jiilka cusub ee proxies-ka software-ka ayaa si fudud u ah noocyo qurux badan oo ka mid ah aaladaha aan isticmaalnay muddo dheer.

Adeegga xogta mesh diyaaradda vs. diyaaradda xakamaynta
Jaantuska 2: Diyaaradda xakamaynta dadka

Si kastaba ha ahaatee, waxaanu isticmaalnay diyaaradaha xakamaynta muddo dheer, in kasta oo inta badan hawlwadeenada shabakadaha laga yaabo inaysan ku xidhin qaybtan nidaamka iyo qayb kasta oo tiknoolaji ah. Sababtu waa sahlan tahay:
Inta badan diyaaradaha kontoroolka ee maanta la isticmaalo waa... anaga.

In Jaantuska 2 waxay tusinaysaa waxa aan ugu yeedho "diyaarada xakamaynta bini'aadmiga." Dirista noocaan oo kale ah, oo wali ah mid caadi ah, malaha hawl wadeen bini'aadam ah oo xanaaqsan ayaa abuuraya habayn toos ah - oo suurtagal ah iyada oo loo marayo qoraallo - oo ku hawlgeliya qaar ka mid ah hababka gaarka ah ee dhammaan wakiillada. Proxies-yada ayaa markaa bilaabaya isticmaalka qaabayntan oo waxay bilaabaan habaynta diyaaradda xogta iyaga oo isticmaalaya goobaha la cusboonaysiiyay.

Adeegga xogta mesh diyaaradda vs. diyaaradda xakamaynta
Jaantuska 3: Diyaaradda xakamaynta mesh-ka adeega sare

In Jaantuska 3 waxay tusinaysaa diyaaradda kontoroolka "kordhinta" ee mesh adeega. Waxay ka kooban tahay qaybaha soo socda:

  • Bini'aadamka: Wali waxaa jira qof (rajo yar leh) oo qaata go'aamo heer sare ah oo ku saabsan nidaamka oo dhan.
  • Xakamaynta diyaaradda UI: Qofku wuxuu la falgalaa nooc ka mid ah is-dhexgalka isticmaalaha si uu u xakameeyo nidaamka. Tani waxay noqon kartaa shabakad shabakad, codsi khadka taliska (CLI), ama qaar kale oo is-dhexgal ah. Isticmaalka interface-ka isticmaalaha, hawlwadeenku waxa uu marin u helayaa cabbirrada habaynta nidaamka caalamiga ah sida:
    • Xakamaynta geynta, buluug/cagaaran iyo/ama kala guurka taraafikada tartiib tartiib ah
    • Xaqiijinta iyo Oggolaanshaha Ikhtiyaarada
    • Tilmaamaha jaantuska miiska, tusaale ahaan marka codsiga A uu codsado macluumaadka ku saabsan "/foo" waxa dhaca
    • Ku dheji dejinta dheelitirka, sida waqtiyada, isku-dayga, dejinta wareegyada, iwm.
  • Jadwalaha culayska shaqadaAdeegyada waxaa lagu maamulaa kaabayaasha iyada oo loo marayo nooc ka mid ah jadwalka/nidaamka abaabulka, sida Kubernetes ama Nomad. Jadwaleeyaha ayaa mas'uul ka ah soo dejinta adeegga iyo wakiilkiisa maxalliga ah.
  • Helitaanka adeegga. Marka jadwalku bilaabo oo joojiyo tusaalooyinka adeegga, waxay u sheegaysaa heerka caafimaadka nidaamka helitaanka adeegga.
  • Sidecar wakiil qaabaynta APIs : Wakiilada maxalliga ah ayaa si firfircoon uga soo saara gobolka qaybo kala duwan oo nidaam ah iyaga oo isticmaalaya qaab ugu dambeyntii joogto ah iyada oo aan la helin faragelin hawlwadeen. Nidaamka oo dhan, oo ka kooban dhammaan tusaaleyaal adeeg oo hadda socda iyo server-yada wakiillada maxalliga ah, ugu dambeyntii waxay isku biiraan hal nidaam deegaan. Diyaaradda xogta caalamiga ah ee Ergeyga API waa hal tusaale oo ah sida ay tani si dhab ah ugu shaqeyso.

Asal ahaan, ujeedada diyaaradda xakamaynta waa in la dejiyo siyaasadda ugu dambeyntii aqbali doonta diyaaradda xogta. Diyaarado kontorool oo horumarsan ayaa ka saari doona hawlwadeenada qaybo badan oo ka mid ah hababka qaarkood waxayna u baahan yihiin hawl yar oo gacanta ah, waa haddii ay si sax ah u shaqeeyaan!...

Diyaaradda xogta iyo diyaaradda xakamaynta. Diyaaradda xogta vs. kontoroolka diyaaradda oo kooban

  • Diyaarad xogta mesh adeega: Waxay saamaysaa baakidh kasta/codsi kasta oo ku jira nidaamka. Mas'uul ka ah arjiga/helitaanka adeegga, hubinta caafimaadka, marin-u-socodka, isu-dheellitirka culeyska, xaqiijinta/oggolaanshaha iyo fiirsashada.
  • Diyaaradda mesh-ka adeegga: Waxay bixisaa siyaasad iyo habayn dhammaan diyaaradaha xogta socda ee shabakada adeegga. Ma taaban wax xirmo/codsi ah oo ku saabsan nidaamka. Diyaaradda kontoroolka ayaa dhammaan diyaaradaha xogta u roga nidaam qaybsan.

Muuqaalka mashruuca hadda

Markaan fahamnay sharraxaadda sare, aan eegno xaaladda hadda ee mashruuca mesh adeegga.

  • Diyaaradaha xogtaLinkerd, NGINX, HAProxy, Ergayga, Traefik
  • Diyaaradaha xakameynayaIstio, Nelson, SmartStack

Halkii aan si qoto dheer u falanqeyn lahaa mid kasta oo ka mid ah xalalka sare, waxaan si kooban uga hadli doonaa qaar ka mid ah qodobbada aan aaminsanahay inay sababaan jahawareer badan oo ka jira deegaanka hadda.

Linkerd waxa uu ahaa mid ka mid ah xogihii ugu horeeyay ee xogta dayuurada ee adeega mesh horraantii 2016 waxa uuna qabtay shaqo cajiib ah oo kor loogu qaadayo wacyiga iyo dareenka qaabka naqshadaynta mesh adeega. Qiyaastii 6 bilood ka dib, Ergeyga wuxuu ku biiray Linkerd (inkasta oo uu Lyft ku jiray ilaa dabayaaqadii 2015). Linkerd iyo Ergaygu waa labada mashruuc ee inta badan la sheego marka laga hadlayo meshes adeegga.

Istio waxaa lagu dhawaaqay May 2017. Hadafyada mashruuca Istio waxay aad ugu egyihiin diyaarada kontoroolka la fidiyay ee lagu muujiyay Jaantuska 3. Ergayga Istio waa wakiilka caadiga ah. Sidaa darteed, Istio waa diyaaradda kontoroolka, Ergayguna waa diyaaradda xogta. Muddo gaaban gudaheed, Istio waxay abuurtay farxad badan, diyaarado kale oo xog ah ayaa bilaabay isdhexgalka sidii beddelka Ergeyga (labadaba Linkerd iyo NGINX waxay muujiyeen isdhexgalka Istio). Xaqiiqda ah in diyaarado xogeedyo kala duwan loo adeegsan karo isla diyaaradda kontoroolka waxay ka dhigan tahay in diyaaradda kontoroolka iyo diyaaradda xogta aysan daruuri ahayn inay si adag u lamaanan yihiin. API sida diyaaradda xogta guud ee ergayga API waxay samayn kartaa buundo u dhaxaysa laba qaybood oo nidaamka ah.

Nelson iyo SmartStack waxay si dheeraad ah u muujinayaan kala soocida diyaaradda xakamaynta iyo diyaaradda xogta. Nelson wuxuu u adeegsadaa ergay wakiilkiisa wuxuuna u dhisaa diyaarad kontorool lagu kalsoonaan karo oo loogu talagalay mesh-ka adeegga ee ku saleysan xirmada HashiCorp, i.e. Reer guuraa, iwm. SmartStack waxa laga yaabaa inuu ahaa kii ugu horreeyay ee mowjadaha cusub ee meshes adeegga. SmartStack waxay dhistaa diyaarad kontorool ah oo ku wareegsan HAProxy ama NGINX, taasoo muujinaysa awoodda lagu kala saaro diyaaradda xakamaynta mesh adeegga ee diyaaradda xogta.

Nashqadaynta Microservice ee leh mesh adeega ayaa helaya feejignaan badan iyo dheeraad (si sax ah!), Mashaariic badan iyo iibiyeyaal ayaa bilaabaya inay ka shaqeeyaan jihadan. Dhawrka sano ee soo socda waxaan arki doonaa wax badan oo cusub oo ku saabsan diyaaradda xogta iyo diyaaradda xakamaynta, iyo sidoo kale isku dhafka qaybaha kala duwan. Ugu dambayntii, qaab-dhismeedka microservice-ka waa inuu noqdaa mid hufan oo sixir ah (?) hawlwadeenka.
Waxaan rajeyneynaa in ay ka sii yaraaneyso xanaaqa.

Qaadashada furaha

  • Mesh adeeggu wuxuu ka kooban yahay laba qaybood oo kala duwan: diyaaradda xogta iyo diyaaradda xakamaynta. Labada qayboodba waa loo baahan yahay, la'aantoodna nidaamku ma shaqeyn doono.
  • Qof kastaa wuu yaqaanaa diyaaradda kontoroolka, iyo markan, diyaaradda xakamaynta ayaa noqon karta adiga!
  • Dhammaan diyaaradaha xogta waxay ku tartamaan midba midka kale sifooyin, waxqabad, habayn, iyo kordhin.
  • Dhammaan diyaaradaha kontoroolka waxay ku tartamaan midba midka kale sifooyin, habayn, fidin, iyo sahlan isticmaalka.
  • Hal diyaarad oo kontorool ah waxay ka koobnaan kartaa abstractions saxda ah iyo API-yada si diyaarado xog badan loo isticmaalo.

Source: www.habr.com

Add a comment