Shirka QCon. Mastering fowdo: Hagaha Netflix ee Adeegga Yaryar. Qaybta 4

Josh Evans wuxuu ka hadlayaa adduunka fowdo iyo midab leh ee Netflix microservices, laga bilaabo aasaaska aasaasiga ah - anatomy ee adeeg-yaraha, caqabadaha la xiriira nidaamyada qaybsan, iyo faa'iidooyinkooda. Isaga oo ka duulaya aasaaskan, waxa uu sahamiyaa dhaqamada, qaab dhismeedka, iyo hab-dhaqannada hawleed ee u horseeda xirfadda adeeg-yaraha.

Shirka QCon. Mastering fowdo: Hagaha Netflix ee Adeegga Yaryar. Qaybta 1
Shirka QCon. Mastering fowdo: Hagaha Netflix ee Adeegga Yaryar. Qaybta 2
Shirka QCon. Mastering fowdo: Hagaha Netflix ee Adeegga Yaryar. Qaybta 3

Si ka duwan dhaq-dhaqaaqa shaqada, soo bandhigida luqadaha cusub ee adeegga caalamiga ah iyo tignoolajiyada cusub sida weelasha ayaa ah go'aanno miyir leh oo lagu kordhinayo kakanaanta cusub ee deegaanka. Kooxda hawl wadeenada waxay jaangooyeen khariidadda tignoolajiyada ugu fiican ee Netflix, kaas oo lagu dubay hab-dhaqannada ugu wanaagsan ee horay loo sii qeexay ee ku salaysan Java iyo EC2, laakiin markii ganacsigu sii kordhay, horumariyayaashu waxay bilaabeen inay ku daraan qaybo cusub sida Python, Ruby, Node-JS, iyo Docker.

Shirka QCon. Mastering fowdo: Hagaha Netflix ee Adeegga Yaryar. Qaybta 4

Aad ayaan ugu hanweynahay in aanu ahayn kuwii ugu horreeyay ee u ololeeya in badeecadeena si weyn u shaqeyso anagoon sugin cabashooyinka macaamiisha. Dhammaantood waxay ku bilowdeen si fudud oo ku filan - waxaan ku haysanay barnaamijyo ku shaqeeya Python iyo dhowr codsiyo xafiiska dambe ah oo ku yaal Ruby, laakiin arrimuhu aad ayay u xiiso badnaayeen markii ay soo-saareyaasha shabakadu ku dhawaaqeen inay tuurayaan JVM-ka oo ay rari doonaan shabakadda. Codsiga barnaamijka Node software platform. js. Ka dib hordhaca Docker, arrimuhu waxay noqdeen kuwo aad u adag. Waxaan raacnay macquulka iyo tignoolajiyada aan la nimid waxay noqdeen xaqiiqo markii aan u hirgelinay macaamiisha sababtoo ah waxay sameeyeen macno badan. Waxaan kuu sheegi doonaa sababta ay tani sidaas u tahay.

API Gateway dhab ahaantii waxa uu awood u leeyahay in uu mideeyo qoraallo waaweyn oo u dhaqmi kara sidii qodobbada ugu dambeeya ee horumariyeyaasha UI. Waxay u beddeleen mid kasta oo ka mid ah qoraalladan si ka dib markii ay isbeddel sameeyaan ay u geyn karaan wax soo saarka ka dibna qalabyada isticmaala, dhammaan isbeddelladaas waxaa la mid ah kuwa dhammaadka ah ee ka socda albaabka API.

Si kastaba ha ahaatee, tani waxay soo celisay dhibaatada abuurista monolith cusub halkaas oo adeegga API si xad dhaaf ah loogu shubay koodka si ay u dhacaan xaalado guuldarrooyin kala duwan. Tusaale ahaan, qaar ka mid ah qodobbada dhammaadka ah ayaa la saaray, ama qoraallada si aan kala sooc lahayn ayaa loo soo saaray noocyo badan oo shay ah oo noocyadu ay qaateen dhammaan xusuusta la heli karo ee adeegga API.

Waxay ahayd wax macquul ah in la qaado dhibcahan dhamaadka oo laga saaro adeegga API. Si tan loo sameeyo, waxaanu abuurnay qaybo Node.js ah oo u shaqeeya sidii codsiyo yaryar oo ku jira weelasha Docker. Tani waxay noo ogolaatay inaan go'doomino wixii dhibaato ah iyo shilalka ay sababaan codsiyadan noodhka ah.

Qiimaha isbeddelladani waa mid aad u weyn oo ka kooban arrimaha soo socda:

  • Qalabka wax soo saarka. Maareynta tignoolajiyada cusub waxay u baahday qalab cusub sababtoo ah kooxda UI, oo isticmaalaya qoraallo aad u wanaagsan si ay u abuuraan qaab wax ku ool ah, ma aysan ku bixin waqti badan maareynta kaabayaasha, kaliya waxay ahayd inay qoraan qoraallo oo ay hubiyaan shaqadooda.
    Aragtida Fursadaha iyo Kala-soocidda - Tusaalaha muhiimka ah waa aaladaha cusub ee loo baahan yahay si loo ogaado macluumaadka darawalka. Waxaa lagama maarmaan noqotay in la ogaado inta Processor-ku ku jiro, sida xusuusta loo isticmaalo, ururinta macluumaadkaasi waxay u baahneyd qalab kala duwan.
  • Burburinta sawirada salka - saldhigga fudud ee AMI wuxuu noqday mid aad u kala qaybsan oo takhasus leh.
  • Maareynta noodhka. Ma jiro qaab-dhismeedka shelf-ka-baxsan ama tignoolajiyada la heli karo oo kuu ogolaanaya inaad maareyso qanjidhada daruuraha, sidaa darteed waxaan dhisnay Titus, oo ah goob maareynta weelka oo bixisa weel la isku halleyn karo oo la isku halleyn karo iyo isdhexgalka daruuraha Amazon AWS.
  • Isku-duubnida maktabad ama madal. Bixinta tignoolajiyada cusub ee leh isla shaqeynta xudunta u ah madal ayaa loo baahday in lagu koobiyo agabka horumariyaha Node.js ee daruuriga ah.
  • Qalooca waxbarashada iyo waayo-aragnimada warshadaha. Hirgelinta tignoolajiyada cusub waxay si lama filaan ah u abuurtaa caqabado cusub oo ay tahay in laga gudbo oo wax laga barto.

Markaa, kuma aynaan ku koobnaan karin hal β€œwaddo laami ah” oo waxay ahayd inaan si joogto ah u dhisno habab cusub oo lagu horumarinayo teknoolojiyadayada. Si aan kharashaadka hoos ugu dhigno, waxaan xaddidnay taageerada dhexe waxaana diiradda saarnay JVM-ga, noodhka cusub, iyo Docker-ka. Waxaan mudnaanta siinnay saameynta wax ku oolka ah, waxaan u sheegnay kooxaha ku saabsan qiimaha go'aanadooda, waxaana ku dhiirigelinay inay raadiyaan habab ay dib ugu isticmaalaan xalalka saameynta sare leh ee ay horay u sameeyeen. Waxaan isticmaalnay habkan markii aan u turjumaynay adeegga luqadaha qalaad si aan u gaarsiinno badeecada macaamiisha caalamiga ah. Tusaalooyinka waxaa ka mid ah maktabado macmiil oo fudud oo si toos ah loo soo saari karo, si ay u sahlanaato in la abuuro nooca Python, nooca Ruby, nooca Java, iwm.

Waxaan si joogto ah u raadinaynay fursado aan ku isticmaalno tignoolajiyada la xaqiijiyay ee isku caddeeyey hal meel iyo xaalado kale oo la mid ah.

Aynu ka hadalno walxaha ugu dambeeya - isbeddellada, ama kala duwanaanshaha. Fiiri sida isticmaalka badeecadayadu u kala duwan yihiin si aan sinnayn maalinta toddobaadka iyo saacadda maalinta oo dhan. Waxaad dhihi kartaa 9-ka subaxnimo waa waqtiga ugu adag ee Netflix, marka culeyska nidaamka uu gaaro ugu badnaan.

Shirka QCon. Mastering fowdo: Hagaha Netflix ee Adeegga Yaryar. Qaybta 4

Sideen ku gaari karnaa xawaare sare oo ah hirgelinta hal-abuurka software, taas oo ah, si joogto ah isbeddel cusub oo lagu sameeyo nidaamka, iyada oo aan keenin carqalado xagga adeegga ah iyo iyada oo aan la abuurin dhib macaamiisheenna? Netflix tan waxay ku gaartay adeegsiga Spinnaker, maamul cusub oo caalami ah oo ku saleysan daruuraha iyo gaarsiinta joogtada ah (CD).

Shirka QCon. Mastering fowdo: Hagaha Netflix ee Adeegga Yaryar. Qaybta 4

Dhab ahaantii, Spinnaker waxaa loogu talagalay in lagu dhex daro dhaqamadayada ugu wanaagsan si marka aan u dirno qaybaha wax soo saarka, waxaan si toos ah ugu dhex dari karnaa wax soo saarka tignoolajiyada gudbinta warbaahinta.

Shirka QCon. Mastering fowdo: Hagaha Netflix ee Adeegga Yaryar. Qaybta 4

Waxa aanu awoodnay in aanu ku dhex darno laba tignoolajiyada dhuumahayaga gaynta kuwaas oo aanu aad u qiimaynayno: falanqaynta kanariyada ootamaatigga ah iyo hawlgelinta qorshaysan. Falanqaynta Canary waxay ka dhigan tahay in aan ku toosineyno taraafikada nooca cusub ee koodka, oo aan dhaafno taraafikada soo hartay iyada oo loo marayo nuqulkii hore. Kadibna waxaan hubineynaa sida koodhka cusub uu ula qabsanayo hawsha - ka fiican ama ka xun midka hadda jira.

Dib-u-soo-dejintu waxay ka dhigan tahay haddii dib-u-dejinta gobol ka mid ah ay dhibaato haysato, waxaan u guuraynaa qayb ka mid ah gobol kale. Xaaladdan oo kale, liiska hubinta ee kor ku xusan waa in lagu daraa dhuumaha wax soo saarka. Waxaan ku kaydin doonaa wakhti waxaanan kugula talinayaa inaad hubiso hadalkaygii hore, Engineering Global Netflix Operations in the Cloud, haddii aad xiisaynayso inaad si qoto dheer u dhex gasho mawduucan. Duubista fiidiyowga ee hadalka waxaa lagu arki karaa adigoo raacaya xiriirka hoose ee bogga.

Shirka QCon. Mastering fowdo: Hagaha Netflix ee Adeegga Yaryar. Qaybta 4

Dhamaadka hadalka, waxaan si kooban uga hadli doonaa abaabulka iyo naqshadeynta Netflix. Bilawgii bilawgii waxa aanu haysanay qorshe la odhan jiray Bixinta Elektarooniga ah, kaas oo ahaa noocii ugu horeeyay ee NRDP 1.x streaming media. Erayga "backstream" halkan waa la isticmaali karaa sababtoo ah markii hore isticmaaluhu wuxuu kaliya soo dejisan karaa nuxurka dib-u-ciyaarista dambe ee qalabka. Madal gaarsiinta dhijitaalka ah ee Netflix ee ugu horreysay, dib u soo noqoshada 2009, waxay u ekayd wax sidan oo kale ah.

Shirka QCon. Mastering fowdo: Hagaha Netflix ee Adeegga Yaryar. Qaybta 4

Aaladda adeegsaduhu waxa ay ka koobnayd arjiga Netflix, kaas oo ka koobnaa interface interface, qaybaha amniga, hawlgelinta adeegga iyo dib-u-ciyaarista, taas oo ku salaysan nidaamka NRDP - Netflix Ready Device Platform.

Waqtigaas isticmaaluhu wuxuu ahaa mid aad u fudud. Waxa ku jiray waxa loo yaqaan Queque Reader, isticmaaluhu waxa uu aadi jiray goobta si uu wax ugu daro Queque ka dibna u eego waxa ku jira qalabkooda. Xaqiiqdu waxay ahayd in kooxda hore iyo kooxda dambe ay ka tirsan yihiin isla hay'adda Bixinta Elektarooniga ah oo ay lahaayeen xidhiidh wada shaqayn dhow. Culayska waxa la abuuray iyadoo lagu salaynayo XML. Isla mar ahaantaana, Netflix API ee ganacsiga DVD ayaa la abuuray, taas oo ku dhiirigelisay codsiyada dhinac saddexaad si ay u toosiyaan taraafikada adeeggayaga.

Si kastaba ha ahaatee, Netflix API si fiican ayaa loo diyaariyey si ay nooga caawiso is-dhexgalka isticmaalaha cusub, oo ka kooban metadata dhammaan waxyaabaha ku jira, macluumaadka ku saabsan filimada la heli karo, taas oo abuurtay awoodda lagu soo saaro liisaska daawashada. Waxay lahayd API REST guud oo ku salaysan qaabka JSON, Xeerka Jawaabta HTTP, isla midka loo isticmaalo qaab dhismeedka casriga ah, iyo qaabka amniga OAuth, kaas oo ahaa waxa loo baahnaa wakhtiga codsiga dhamaadka-hore. Tani waxay suurtogal ka dhigtay in laga guuro qaabka guud ee gudbinta macluumaadka loona guuro mid gaar ah.

Shirka QCon. Mastering fowdo: Hagaha Netflix ee Adeegga Yaryar. Qaybta 4

Dhibaatada kala-guurka ayaa ahayd kala qaybsanaan, maadaama hadda nidaamkayagu ku shaqeeyo laba adeeg oo ku salaysan mabaadi'da hawlgalka oo kala duwan - mid ku saabsan Rest, JSON iyo OAuth, kan kale ee RPC, XML iyo habka amniga isticmaalaha ee ku salaysan nidaamka NTBA. Tani waxay ahayd naqshad-dhismeedkii ugu horreeyay ee isku-dhafan.

Dhab ahaantii waxaa jiray dab-damis u dhexeeya labadayada kooxood sababtoo ah markii hore API-ga si fiican uguma miisaanayn NCCP taasina waxay keentay khilaaf u dhexeeya kooxaha. Kala duwanaanshiyaha ayaa ahaa adeegyada, hab-maamuuska, wareegyada, qaybaha amniga, iyo horumariyayaashu inta badan waxay ku qasbanaadeen inay u kala beddelaan xaalado kala duwan.

Shirka QCon. Mastering fowdo: Hagaha Netflix ee Adeegga Yaryar. Qaybta 4

Arintan, waxaan wadahadal la yeeshay mid ka mid ah injineerada sare ee shirkadda, kaas oo aan waydiiyay su'aasha: "Maxay noqonaysaa qaab-dhismeedka saxda ah ee muddada dheer?" wuxuuna waydiiyay su'aasha: "Waxaa laga yaabaa inaad ka welwelsan tahay. Wixii ku saabsan cawaaqibka ururka - maxaa dhacaya haddii aan waxyaalahan isku darno, oo ay jebiyaan wixii aan baranay si aan si wanaagsan u qabanno? Habkani wuxuu aad u khuseeyaa Sharciga Conway: "Ururada nakhshadeeya nidaamyada waxaa xaddidaya naqshad soo celinaysa qaabka isgaarsiinta ee ururkaas." Tani waa qeexitaan aan la taaban karin, sidaas darteed waxaan doorbidayaa mid gaar ah: "Qayb ka mid ah software-ku wuxuu ka tarjumayaa qaab-dhismeedka ururka ee abuuray." Waa kuwan oraahda aan ugu jeclahay Eric Raymond: "Haddii aad haysato afar kooxood oo horumariyayaal ah oo ka shaqeeya isku-dubarid, waxaad ku dambayn doontaa isku-dubarid afar-baas ah." Hagaag, Netflix waxay leedahay iskudubarid afar baas ah, waana sida aanu u shaqayno.

Waxaan dhihi karnaa in kiiskan dabada ay wadineyso eyga. Muhiimadayada koowaad maaha xalka, laakiin waa ururka, waa ururka ka shaqeeya dhismaha ee aynu haysano. Si tartiib tartiib ah, hodgepodge adeegyada, waxaan u guurnay dhismo aan ugu yeernay Blade Runner, sababtoo ah halkan waxaan uga hadlaynaa adeegyada cirifka iyo awoodda NCCP in la kala saaro oo si toos ah loogu daro wakiilka Zuul, albaabka API, iyo shaqeynta u dhiganta. "Goobaha" waxaa loo rogay adeeg yar yar oo cusub oo leh ammaan aad u horumarsan, ku celis, kala-soocidda xogta, iwm.

Haddaba, waxa la odhan karaa qaab-dhismeedka waaxyaha iyo dhaq-dhaqaaqa shirkadu waxay door muhiim ah ka ciyaaraan qaabaynta nidaamka nashqadeynta waana arrin dhiirigelisa ama carqaladaysa isbeddelka. Nashqadaynta adeeg-yaraha waa mid kakan oo dabiici ah, caafimaadkeeduna wuxuu ku salaysan yahay edeb iyo fowdo la soo geliyay.

Xayeysiis yar

Waad ku mahadsan tahay inaad nala joogto. Ma jeceshahay maqaalladayada? Ma doonaysaa inaad aragto wax badan oo xiiso leh? Nagu taageer adigoo dalbanaya amar ama kula talinaya asxaabta, Cloud VPS ee horumariyeyaasha laga bilaabo $ 4.99, analoog gaar ah oo ah server-yada heerka gelitaanka, kaas oo anaga aanu adiga kuu hindisay: Xaqiiqada oo dhan ee ku saabsan VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps laga bilaabo $19 ama sida loo wadaago server? (waxaa laga heli karaa RAID1 iyo RAID10, ilaa 24 cores iyo ilaa 40GB DDR4).

Dell R730xd 2x ka jaban xarunta xogta Equinix Tier IV ee Amsterdam? Kaliya halkan 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV laga bilaabo $199 Nederlaan! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - laga bilaabo $99! Wax ka akhri Sida loo dhiso infrastructure Corp. fasalka iyadoo la adeegsanayo Dell R730xd E5-2650 v4 servers oo qiimahoodu yahay 9000 euro dinaar?

Source: www.habr.com

Add a comment