Naqshadeynta dheelitiriyaha culeyska shabakada ee Yandex.Cloud

Naqshadeynta dheelitiriyaha culeyska shabakada ee Yandex.Cloud
Hello, waxaan ahay Sergei Elantsev, waan horumariyaa isku dheeli tirka culeyska shabakada ee Yandex.Cloud. Markii hore, waxaan u horseeday horumarinta dheelitirka L7 ee Yandex portal - asxaabtu waxay ku kaftamaan wax kasta oo aan sameeyo, waxay u muuqataa inay noqoto mid dheellitiran. Waxaan u sheegi doonaa akhristayaasha Habr sida loo maareeyo culeyska ku jira madal daruur ah, waxa aan u aragno aaladda ugu habboon ee lagu gaari karo yoolkan, iyo sida aan ugu soconno dhismaha qalabkan.

Marka hore, aan soo bandhigno qaar ka mid ah ereyada:

  • VIP (Virtual IP) - cinwaanka IP-ga dheelitirka
  • Server-ka, dhabarka dambe, tusaale ahaan - mishiin dalwad ah oo ku shaqaynaya codsiga
  • RIP (Real IP) - cinwaanka IP server
  • Hubinta caafimaadka - hubinta u diyaarsanaanta server-ka
  • Aagga la heli karo, AZ - kaabayaasha go'doonsan ee xarunta xogta
  • Gobolka - urur ka mid ah AZs kala duwan

Isku-dheelitiriyeyaasha culeysku waxay xalliyaan saddex hawlood oo waaweyn: waxay qabtaan isu-dheellitirka laftiisa, waxay hagaajiyaan dulqaadka cilladda adeegga, waxayna fududeeyaan miisaankooda. Dulqaadka cilada waxaa lagu hubiyaa maaraynta taraafikada tooska ah: xisaabiyaha ayaa la socda xaalada codsiga wuxuuna ka reebayaa isu dheelitirka xaaladaha aan gudbin hubinta nolosha. Miisaamidda waxaa lagu hubiyaa iyadoo si siman loo qaybinayo culeyska xaaladaha, iyo sidoo kale cusbooneysiinta liiska dhacdooyinka duullimaadka. Haddii dheellitirku aanu labis ku filnayn, xaaladaha qaarkood waxay heli doonaan culays ka sarreeya xadka awooddooda, adeegguna wuxuu noqonayaa mid aan la isku halayn karin.

Isku-dheellitirka culeyska waxaa badanaa lagu kala saaraa lakabka borotokoolka ee qaabka OSI ee uu ku shaqeeyo. Balancer Cloud wuxuu ku shaqeeyaa heerka TCP, kaas oo u dhigma lakabka afraad, L4.

Aan u gudubno dulmarka naqshadeeyaha dheelitirka Cloud. Waxaan si tartiib tartiib ah u kordhin doonaa heerka faahfaahinta. Waxaan u qaybinnaa qaybaha dheelitirka saddex qaybood. Nooca diyaaradda qaabeynta ayaa mas'uul ka ah isdhexgalka isticmaalaha waxayna keydisaa heerka bartilmaameedka nidaamka. Diyaaradda xakamaynta waxay kaydisaa xaaladda hadda ee nidaamka waxayna maamushaa nidaamyada laga soo bilaabo fasalka diyaaradda xogta, kuwaas oo si toos ah mas'uul uga ah gaarsiinta taraafikada macaamiisha ilaa xaaladahaaga.

Diyaarada xogta

Taraafikada waxay ku dhamaanaysaa aaladaha qaaliga ah ee loo yaqaan router xuduudka. Si loo kordhiyo dulqaadka cilada, dhowr qalab oo noocaas ah ayaa isku mar ku wada shaqeeya hal xarun xogeed. Marka xigta, taraafikada waxay u socotaa xisaabiyeyaasha, kuwaas oo ku dhawaaqaya ciwaannada IP-ga ah ee dhammaan AZ-yada iyada oo loo sii marayo BGP macaamiisha. 

Naqshadeynta dheelitiriyaha culeyska shabakada ee Yandex.Cloud

Gaadiidka waxaa lagu kala qaadaa ECMP - tani waa istaraatiijiyad dariiqeed taas oo ay jiri karto dhowr waddo oo isku mid ah oo loo maro bartilmaameedka (xaaladkeenna, bartilmaameedku wuxuu noqon doonaa cinwaanka IP-ga) iyo baakadaha ayaa lagu diri karaa mid kasta oo ka mid ah. Waxaan sidoo kale taageernaa in laga shaqeeyo dhowr goobood oo la heli karo iyadoo la raacayo nidaamkan soo socda: waxaan ku xayeysiineynaa cinwaan aag kasta, taraafiggu wuxuu aadaa midka ugu dhow mana dhaafo xadkiisa. Mar dambe boostada waxaan si faahfaahsan u eegi doonaa waxa ku dhaca taraafikada.

Habee diyaarad

 
Qaybta muhiimka ah ee diyaaradda qaabeynta waa API, iyada oo loo marayo hawlgallada aasaasiga ah ee dheellitirka: abuurista, tirtirka, beddelka halabuurka tusaalaha, helitaanka natiijooyinka hubinta caafimaadka, iwm. Dhinac, tani waa API REST, iyo Mid kale, annagu haddaan nahay Cloud inta badan waxaan isticmaalnaa qaab-dhismeedka gRPC, markaa waxaan u "tarjumnaa" REST gRPC ka dibna waxaan isticmaalnaa kaliya gRPC. Codsi kastaa wuxuu horseedaa abuurista taxane ah hawlo awood leh oo isku mid ah kuwaas oo lagu fuliyo barkad guud ee shaqaalaha Yandex.Cloud. Hawsha waxa loo qoraa hab in la hakiyo wakhti kasta ka dibna dib loo bilaabo. Tani waxay xaqiijinaysaa miisaanka, soo celinta iyo qorista hawlaha.

Naqshadeynta dheelitiriyaha culeyska shabakada ee Yandex.Cloud

Natiijo ahaan, hawsha API-ga waxay codsi u diri doontaa maamulaha adeegga dheelitirka, kaas oo ku qoran Go. Waxay ku dari kartaa oo ka saari kartaa dheelitirayaasha, bedeli kartaa halabuurka dhabarka iyo dejinta. 

Naqshadeynta dheelitiriyaha culeyska shabakada ee Yandex.Cloud

Adeeggu wuxuu ku kaydiyaa gobolkiisa Yandex Database, xog ururin la maareeyay oo aad dhawaan awoodi doonto inaad isticmaasho. In Yandex.Cloud, sidii horeba sheegay, Fikradda cuntada eyga ayaa khuseysa: haddii aan nafteena isticmaalno adeegyadeena, markaa macaamiisheena sidoo kale waxay ku farxi doonaan inay isticmaalaan. Yandex Database waa tusaale ka mid ah hirgelinta fikradda noocaas ah. Waxaan ku kaydinnaa dhammaan xogtayada YDB, mana aha inaan ka fikirno ilaalinta iyo cabbirida xogta: dhibaatooyinkan waa la xalliyaa annaga, waxaan u isticmaalnaa kaydka adeeg ahaan.

Aan ku soo laabano kontaroolaha dheelitirka. Shaqadeedu waa in ay kaydiso macluumaadka ku saabsan dheelli-tirka oo ay u dirto hawl si ay u hubiso u diyaarsanaanta mishiinka farsamada gacanta maamulaha hubinta caafimaadka.

Xakamaynta hubinta caafimaadka

Waxay heshaa codsiyo lagu beddelayo xeerarka hubinta, waxay ku kaydisaa YDB, waxay u qaybisaa hawlo u dhexeeya qanjidhada caafimaadka waxayna isu geynaysaa natiijooyinka, kuwaas oo markaa lagu kaydiyo xogta oo loo diro kontaroolaha loadbalancer. Waxay, markeeda, soo dirtaa codsi ah in la beddelo halabuurka kutlada ee diyaaradda xogta in loadbalancer-node, kaas oo aan ka hadli doonaa hoos.

Naqshadeynta dheelitiriyaha culeyska shabakada ee Yandex.Cloud

Aynu wax badan ka hadalno jeegaga caafimaadka. Waxa loo qaybin karaa dhawr fasal. Hantidhawrku waxay leeyihiin shuruudo guuleed oo kala duwan. Jeegaga TCP waxay u baahan yihiin inay si guul leh u abuuraan xidhiidh wakhti go'an gudahooda. Hubinta HTTP waxay u baahan tahay isku xidhka guusha leh iyo jawaabta leh 200 kood.

Sidoo kale, jeegaggu way ku kala duwan yihiin fasalka ficilka - waa kuwo firfircoon oo aan fiicneyn. Jeegaga dadban ayaa si fudud ula socda waxa ka dhacaya taraafikada adoon qaadin wax tallaabo ah oo gaar ah. Tani si fiican uguma shaqaynayso L4 sababtoo ah waxay kuxirantahay caqligal ee borotokoolka heerka sare: L4 ma jiro wax macluumaad ah oo ku saabsan inta uu qaliinku qaatay ama in dhamaystirka xidhiidhka uu ahaa mid wanaagsan ama xun. Jeegaga fir fircoon wuxuu u baahan yahay xisaabiyehu inuu u soo diro codsiyada tusaale ahaan server kasta.

Inta badan kuwa culayska qaada waxay sameeyaan hubinta nolosha. Cloud, waxaan go'aansanay inaan kala saarno qaybahan nidaamka si aan u kordhino miisaanka. Habkani wuxuu noo ogolaanayaa inaan kordhino tirada xisaabiyeyaasha iyadoo la ilaalinayo tirada codsiyada hubinta caafimaadka ee adeegga. Jeegaga waxa lagu sameeyaa qanjidhada jeegaga caafimaadka oo kala duwan, kuwaas oo bartilmaameedyada jeegaga la jeexjeexay oo lagu celceliyay. Ma samayn kartid jeegag hal marti-geliyaha ah, sababtoo ah way dhici kartaa. Markaa ma heli doono xaaladda kiisaska uu hubiyay. Waxaan ku samaynaa hubinta mid ka mid ah xaaladaha laga soo bilaabo ugu yaraan saddex qanjidhada hubinta caafimaadka. Waxaan kala jeexnaa ujeedooyinka hubinta inta u dhexeysa noodhka iyadoo la adeegsanayo algorithms-ka hashing joogto ah.

Naqshadeynta dheelitiriyaha culeyska shabakada ee Yandex.Cloud

Kala saarista dheelitirka iyo hubinta caafimaadka waxay u horseedi kartaa dhibaatooyin. Haddii qanjidhka jeegaga caafimaadku uu codsiyo tusaale ahaan ah, isaga oo ka gudbaya dheelitirka (oo aan hadda u adeegin taraafikada), markaa xaalad la yaab leh ayaa soo baxda: kheyraadku wuxuu u muuqdaa inuu nool yahay, laakiin taraafikada ma gaari doonto. Waxaan dhibaatadan ku xallinaa sidan: waxaa naloo dammaanad qaaday in aan ku bilowno taraafikada hubinta caafimaadka iyada oo loo marayo xisaabiyeyaasha. Si kale haddii loo dhigo, nidaamka loogu wareejinayo baakidhyada taraafikada ee macaamiisha iyo jeegaga caafimaadku way ka duwan yihiin wax yar: labada xaaladoodba, baakidhyadu waxay gaadhi doonaan xisaabiyeyaasha, kuwaas oo gaarsiin doona ilaha bartilmaameedka ah.

Farqiga u dhexeeya ayaa ah in macaamiishu ay codsi u diraan VIP-da, halka jeegaga caafimaadku ay codsiyo u samaynayaan RIP shaqsi kasta. Dhibaato xiiso leh ayaa halkan ka soo baxda: waxaan siinaa isticmaalayaashayada fursad ay ku abuuraan ilaha shabakadaha IP-ga cawlan. Aynu qiyaasno inay jiraan laba milkiileyaal daruuro kala duwan kuwaas oo ku qariyay adeegyadooda gadaasha dheelitirayaasha. Mid kasta oo iyaga ka mid ah wuxuu leeyahay agab ku jira 10.0.0.1/24 subnet, oo leh cinwaanno isku mid ah. Waxaad u baahan tahay inaad si uun u kala soocdo, oo halkan waxaad u baahan tahay inaad u dhex gasho qaab dhismeedka shabakadda Yandex.Cloud. Way fiicantahay inaad faahfaahin dheeraad ah ka hesho muqaal ku saabsan:dhacdo Cloud, hadda waxaa muhiim noo ah in shabkadadu ay tahay mid lakabyo badan leh oo ay leedahay tunnel-yada lagu garto subnet id.

Hubinta qanjidhada caafimaadka waxay la xidhiidhaa dheelitirayaasha iyadoo la isticmaalayo waxa loogu yeero ciwaanada quasi-IPv6. Cinwaanka ka soo horjeeda waa ciwaanka IPv6 oo leh ciwaanka IPv4 iyo aqoonsiga isticmaalaha subnetka ee ku dhex jira. Taraafikada waxay gaartaa dheelitirka, kaas oo ka soo saara cinwaanka ilaha IPv4, wuxuu ku beddelaa IPv6 IPv4 wuxuuna u diraa xirmada shabakada isticmaalaha.

Taraafikada gadaaladu waxay u socotaa si la mid ah: xisaabiyuhu wuxuu arkaa in meesha loo socdo ay tahay shabakad cawl oo ka socota baarayaasha caafimaadka, oo u rogo IPv4 ilaa IPv6.

VPP - wadnaha diyaaradda xogta

Isku-dheellitirka waxaa lagu fuliyaa iyadoo la adeegsanayo tikniyoolajiyadda Vector Packet Processing (VPP), qaab-dhismeedka Cisco ee habaynta dufcada taraafikada shabakadda. Xaaladeena, qaab-dhismeedku wuxuu ka shaqeeyaa dusha sare ee maktabadda maamulka qalabka shabakada user-space - Data Plane Development Kit (DPDK). Tani waxay hubinaysaa waxqabadka baakadaha sare: hakadyo aad u yar ayaa ku dhaca kernel-ka, mana jiraan wax macno ah oo u dhexeeya booska kernel-ka iyo booska isticmaalaha. 

VPP xitaa way sii socotaa oo waxay ka saartaa xitaa waxqabad badan oo ka baxsan nidaamka iyadoo la isku daray baakadaha dufcadaha. Guulaha wax qabadku waxay ka yimaaddaan adeegsiga gardarada leh ee khasnadaha ee soo-saareyaasha casriga ah. Labada khasnadaha xogta ayaa la isticmaalaa (baakidhyada waxaa lagu farsameeyaa "vectors", xogtu waxay ku dhowdahay midba midka kale) iyo kaydinta tilmaamaha: VPP, farsamaynta baakidhku waxay raacdaa garaaf, qanjidhada kuwaas oo ka kooban shaqooyin isku mid ah.

Tusaale ahaan, habaynta baakadaha IP-ga ee VPP waxay ku dhacdaa sida soo socota: marka hore, madaxyada baakadaha ayaa lagu dhejiyaa qanjidhada laf-dhabarka, ka dibna waxaa loo diraa noodhka, kaas oo u sii gudbiya baakadaha si waafaqsan jaantusyada.

In yar oo adag. Qorayaasha VPP uma dulqaadanayaan tanaasulka isticmaalka kaydinta processor-ka, sidaa darteed koodhka caadiga ah ee ka baaraandegga vector-ka baakadaha waxaa ku jira vectorization manual: waxaa jira loop-ka-shaqeyneed kaas oo xaalad ah sida "waxaan ku haynaa afar baakidh oo safka ku jira" ka dibna isku mid laba, ka dibna - mid. Tilmaamaha hordhaca ah ayaa inta badan loo isticmaalaa in lagu shubo xogta khasnadaha si loo dedejiyo gelitaankooda soo noqnoqoshada xiga.

n_left_from = frame->n_vectors;
while (n_left_from > 0)
{
    vlib_get_next_frame (vm, node, next_index, to_next, n_left_to_next);
    // ...
    while (n_left_from >= 4 && n_left_to_next >= 2)
    {
        // processing multiple packets at once
        u32 next0 = SAMPLE_NEXT_INTERFACE_OUTPUT;
        u32 next1 = SAMPLE_NEXT_INTERFACE_OUTPUT;
        // ...
        /* Prefetch next iteration. */
        {
            vlib_buffer_t *p2, *p3;

            p2 = vlib_get_buffer (vm, from[2]);
            p3 = vlib_get_buffer (vm, from[3]);

            vlib_prefetch_buffer_header (p2, LOAD);
            vlib_prefetch_buffer_header (p3, LOAD);

            CLIB_PREFETCH (p2->data, CLIB_CACHE_LINE_BYTES, STORE);
            CLIB_PREFETCH (p3->data, CLIB_CACHE_LINE_BYTES, STORE);
        }
        // actually process data
        /* verify speculative enqueues, maybe switch current next frame */
        vlib_validate_buffer_enqueue_x2 (vm, node, next_index,
                to_next, n_left_to_next,
                bi0, bi1, next0, next1);
    }

    while (n_left_from > 0 && n_left_to_next > 0)
    {
        // processing packets by one
    }

    // processed batch
    vlib_put_next_frame (vm, node, next_index, n_left_to_next);
}

Marka, Hubinta Caafimaadka waxay ka hadlaan IPV6 VPP, taasoo u rogta IPV4. Tan waxa lagu sameeyaa noodhka garaafka, kaas oo aynu ugu yeedhno algorithmic NAT. Gaadiidka rogaal celiska ah (iyo ka beddelashada IPv6 una beddelo IPV4) waxaa jira isla algorithmic NAT node.

Naqshadeynta dheelitiriyaha culeyska shabakada ee Yandex.Cloud

Taraafikada tooska ah ee macaamiisha dheelitirka waxay maraan qanjidhada garaafyada, kuwaas oo fulinaya dheelitirka laftiisa. 

Naqshadeynta dheelitiriyaha culeyska shabakada ee Yandex.Cloud

Noolka kowaad waa fadhiyo dhegdheg leh. Waxay kaydisaa xashiishkii 5-tuple fadhiyada la aasaasay. 5-tuple waxaa ku jira ciwaanka iyo dekedda macmiilka ee macluumaadka laga soo gudbiyo, ciwaanka iyo dekedaha agabka laga heli karo gaadiidka, iyo sidoo kale borotokoolka shabakada. 

Xashiishka 5-tuple wuxuu naga caawiyaa inaan samayno xisaabin yar xagasha xashiishka joogtada ah ee xiga, iyo sidoo kale si fiican u maaraynta liiska agabka isbeddelada gadaashiisa dheelitiriyaha. Marka baakidh aan fadhi lahayn uu yimaado xisaabiyaha, waxa loo diraa noodhka xashiishka ee joogtada ah. Tani waa halka dheellitirku ka dhaco iyadoo la isticmaalayo xashiish joogto ah: waxaan ka dooranaa kheyr liiska agabka "nool" ee jira. Marka xigta, xirmooyinka waxaa loo diraa NAT node, kaas oo dhab ahaantii beddelaya ciwaanka goobta oo dib u xisaabiya jeegaga. Sida aad arki karto, waxaan raacnaa qawaaniinta VPP - sida inaad jeceshahay, kooxaynta xisaabaadka la midka ah si loo kordhiyo waxtarka kaydinta processor-ka.

Xashiish joogta ah

Maxaynu u dooranay maxayse tahay xataa? Marka hore, aan tixgelinno hawshii hore - xulashada kheyraadka liiska. 

Naqshadeynta dheelitiriyaha culeyska shabakada ee Yandex.Cloud

Xashiish aan is-waafaqsanayn, xashiishka xirmada soo galaya ayaa la xisaabiyaa, kheyraadna waxaa laga dhex doortaa liiska inta ka hartay qaybinta xashiishkan tirada kheyraadka. Ilaa iyo inta liisku aanu isbeddelin, nidaamkani si fiican ayuu u shaqeeyaa: waxaanu had iyo jeer u dirnaa baakidhyo leh 5-tuple isku mid ah isla tusaale isku mid ah. Haddii, tusaale ahaan, kheyraadka qaar ay joojiyeen ka jawaabista baaritaannada caafimaadka, markaas qayb muhiim ah oo ka mid ah xashiishka doorashadu way isbedeli doontaa. Xidhiidhada TCP ee macmiilka waa la jebin doonaa: baakidh hore u gaadhay tusaale A waxa laga yaabaa inuu bilaabo inuu gaadho tusaale B, kaas oo aan aqoon u lahayn fadhiga xidhmadan.

Xashiish joogta ah ayaa xallisa dhibaatada la tilmaamay. Habka ugu fudud ee lagu sharxi karo fikradan waa tan: qiyaas inaad haysato giraan aad ugu qaybinayso agabka xashiish (tusaale ahaan, IP:port). Xulashada kheyraadku waa xagal u rogida giraangiraha, kaas oo lagu go'aamiyo xashiishka xirmada.

Naqshadeynta dheelitiriyaha culeyska shabakada ee Yandex.Cloud

Tani waxay yaraynaysaa dib u qaybinta taraafikada marka isku dhafka agabku isbeddelo. Tirtiridda kheyraadku waxay kaliya saamaynaysaa qaybta xashiishka joogtada ah ee sahaydu ku yaallo. Ku darista kheyraadka sidoo kale waxay wax ka bedeshaa qaybinta, laakiin waxaan leenahay fadhiyo dhegdheg leh, kaas oo noo ogolaanaya in aanan u bedelin fadhiyo hore loo sameeyay ilo cusub.

Waxaan eegnay waxa ku dhacaya hagida taraafikada u dhexeeya dheelitiriyaha iyo kheyraadka. Hadda aynu eegno soo noqoshada gaadiidka. Waxay raacdaa qaab la mid ah sida hubinta taraafikada - iyada oo loo marayo algorithmic NAT, taas oo ah, iyada oo loo marayo NAT 44 ee taraafikada macaamiisha iyo iyada oo loo marayo NAT 46 ee taraafikada hubinta caafimaadka. Waxaan u hoggaansanahay nidaamkayaga: waxaanu midayna taraafikada hubinta caafimaadka iyo ta isticmaalaha dhabta ah.

Loadbalancer-node iyo qaybaha la isku daray

Isku-dheellitirka iyo agabka ku jira VPP waxaa soo tebiyay adeega deegaanka -loadbalancer-node. Waxay u hoggaansamaan qulqulka dhacdooyinka ka yimaada loadbalancer-controller waxayna awood u leedahay inay qeexdo farqiga u dhexeeya gobolka VPP ee hadda jira iyo gobolka bartilmaameedka ee laga helay kontaroolaha. Waxaan helnaa nidaam xiran: dhacdooyinka API-ga waxay u yimaadaan kantaroolaha dheellitirka, kaas oo u xilsaaraya hawlaha kormeeraha hubinta caafimaadka si uu u hubiyo "nololeed" ilaha. Taasi, iyaduna, waxay u xilsaartaa hawlaha baaritaanka-node-caafimaadka oo isku geynaya natiijooyinka, ka dib waxay dib ugu celisaa kontaroolaha dheellitirka. Loadbalancer-node waxa ay ku biirtaa dhacdooyinka maamulaha oo beddela xaaladda VPP-ga. Nidaamkan oo kale, adeeg kastaa wuxuu yaqaanaa oo keliya waxa lagama maarmaanka u ah adeegyada deriska. Tirada isku xirnaanta waa xadidan tahay waxaanan awood u leenahay inaan ku shaqeyno oo aan cabirno qaybaha kala duwan si madax banaan.

Naqshadeynta dheelitiriyaha culeyska shabakada ee Yandex.Cloud

Maxaa arrimaha laga fogaaday?

Dhammaan adeegyadayada diyaaradda kontoroolka waxay ku qoran yihiin Go waxayna leeyihiin cabbirro wanaagsan iyo astaamo la isku halleyn karo. Go waxay leedahay maktabado badan oo il furan oo loogu talagalay dhisidda nidaamyada la qaybiyey. Waxaan si firfircoon u isticmaalnaa GRPC, dhammaan qaybaha waxay ka kooban yihiin ilo furan oo hirgelinta helitaanka adeegga - adeegyadeenu waxay la socdaan waxqabadka midba midka kale, waxay bedeli karaan halabuurkooda si firfircoon, waxaanan ku xirnay tan isku dheelitirka GRPC. Qiyaasta, waxaan sidoo kale isticmaalnaa xal il furan. Diyaaradda xogta, waxaan helnay waxqabad hufan iyo kayd kheyraad ballaaran: waxay u muuqatay inay aad u adagtahay in la isku keeno meel aan ku tiirsanaan karno waxqabadka VPP, halkii laga heli lahaa kaarka shabakadda birta.

Dhibaatooyinka iyo Xalka

Maxaa si fiican u shaqayn waayay? Go ayaa si toos ah u maamulaysa xusuusta, laakiin daadinta xusuusta ayaa weli dhacda. Sida ugu fudud ee lagula tacaali karo waa in la maamulo gorutines oo aad xasuusnaato in aad joojiso. Qaadashada: Daawo isticmaalka xusuusta barnaamijyadaada Go. Inta badan tilmaame wanaagsan waa tirada gorutines. Sheekadan waxa ku jira wax lagu daray: Go way fududahay in la helo xogta runtime - isticmaalka xusuusta, tirada gorutines ordaya, iyo cabbiro kale oo badan.

Sidoo kale, Go ma noqon karto doorashada ugu fiican ee imtixaannada shaqada. Waxay yihiin kuwo aad u hadal ah, iyo habka caadiga ah ee "ku socodsiinta wax kasta oo ku jira CI dufcad" maaha mid ku habboon iyaga. Xaqiiqdu waxay tahay in tijaabooyinka shaqeyntu ay yihiin kuwo kheyraad-baahi badan oo keena waqtiyo dhab ah. Sababtaas awgeed, imtixaanadu way fashilmi karaan sababtoo ah CPU waxay ku mashquulsan tahay imtixaanada cutubka. Gabagabo: Haddii ay suurtogal tahay, samee imtixaano "culus" oo ka gooni ah imtixaanada cutubka. 

Nashqadaynta munaasabada Microservice way ka adag tahay monolith: ururinta logyada daraasiin mashiino kala duwan maaha mid ku haboon. Gabagabo: haddii aad sameyso adeeg-yaraha, isla markiiba ka fikir raadinta.

Qorshaheena

Waxaan bilaabi doonaa dheellitir gudaha gudaha ah, dheellitirka IPv6, waxaan ku dari doonaa taageerada qoraalada Kubernetes, sii wadi doona burburinta adeegyadeena (hadda kaliya ee hubinta-node-caafimaadka iyo jeegaga-caafimaadka-ctrl ayaa la jeexjeexay), ku dari doona jeegag caafimaad oo cusub, iyo sidoo kale hirgelinta isugeynta isugeynta ee jeegaga. Waxaan tixgelineynaa suurtagalnimada inaan ka dhigno adeegyadeena xitaa kuwa madax-bannaan - si aysan si toos ah isula xiriirin, laakiin ay isticmaalaan safka farriinta. Adeeg ku habboon SQS ayaa dhawaan ka soo muuqday Cloud Safka Fariinta Yandex.

Dhawaan, siideynta dadweynaha ee Yandex Load Balancer ayaa dhacay. Baadh dukumeenti Adeegga, u maarayso xisaabiyeyaasha hab adiga kugu habboon oo kordhi dulqaadka khaladka ee mashaariicdaada!

Source: www.habr.com

Add a comment