ClipBucket, ilo furan YouTube clone oo aad ku rakiban karto serfarkaga
Marka hore waan isku dayay ClipBucket, kaas oo isku magacaabay ilo furan YouTube clone oo aad ku rakibi karto server-kaaga.
Waxa la yaab leh, ClipBucket ma laha wax tilmaamo rakibid ah. Mahadsanid maamulka dibadda Ρ si otomaatig ah nidaamka rakibidda iyadoo gacan ka heleysa Caqli ahaan, qalab maamulka habaynta server.
Dhibaatada qayb ka mid ah waxay ahayd in qoraallada rakibaadda ClipBucket ay gabi ahaanba jabeen. Waqtigaas waxaan ka shaqeeyay Google iyo sida waafaqsan shuruudaha qandaraasku xaq uma lihin inay wax ku biiriyaan clone isha furan ee YouTube, laakiin aniga soo dhejiyay warbixin kutaantaas oo ay fududahay in la sameeyo sixiddii loo baahnaa. Bilo ayaa ka soo wareegay, welina ma ay fahmin waxa dhibku yahay. Halkii, wax walba ayay ku dareen in ka badan dhiqlaha soo daynta kasta.
ClipBucket waxay ku shaqeysay qaab latalin - waxay ku sii daayeen koodkooda lacag la'aan waxaana lagu dalacay caawinta geynta. Si tartiib tartiib ah waxaa ii soo baxday in shirkad lacag ka hesha taageerada lacag bixinta ay u badan tahay inaysan aad u daneyneynin in macaamiishu ay iyagu rakibaan alaabta.
MediaGoblin, beddelka ka casrisan
Dhawr bilood oo niyad jab ah ka dib ClipBucket, waxaan dib u eegay fursadaha jira oo aan helay warbaahinta goblin.
MediaGoblin waxay leedahay waxyaabo badan oo wanaagsan. Si ka duwan ClipBucket ee PHP aan fiicneyn, MediaGoblin wuxuu ku qoran yahay Python, luqad aan khibrad badan u leeyahay qorista koodka. Cun interface line amarka, taasoo sahlaysa in si otomaatig ah loo soo dejiyo fiidiyowyada. Tan ugu muhiimsan, MediaGoblin ayaa soo gashay Sawirka docker, taas oo meesha ka saaraysa wixii dhibaato ah ee ku saabsan rakibidda.
Dhibaatada La Yaabka leh ee Dib-u-hagaajinta MediaGoblin
Waxaan u qaatay in keenista sawirka docker MediaGoblin ay noqon doonto hawl yar. Hagaag, si fiican uma shaqayn.
Sawirka la dhammeeyey, waxaa jiray laba hawlood oo lagama maarmaan ah:
Xaqiijinta
MediaGoblin waxay u abuurtaa barta warbaahinta guud si caadi ah, waxaanan u baahday hab lagu xaddido gelitaanka dadka dibadda.
Transcoding
Mar kasta oo aad soo rogto muqaal, MediaGoblin waxa ay isku daydaa in ay dib u kood u geliso si ay u socoto baahinta ugu fican. Haddii fiidiyowgu asal ahaan diyaar u yahay baahinta, beddelka codaynta ayaa hoos u dhigta tayada.
Nasiib darro, sawirka Docker hadda kama dhisna kaydka MediaGoblin. Waxaan isku dayay inaan la jaanqaado qaabkii dhismihii ugu dambeeyay ee lagu guulaystay, laakiin taasi sidoo kale ma shaqayn. Inkasta oo aan si sax ah u isticmaalay koodka isku midka ah, ku tiirsanaanta dibadda ee MediaGoblin ayaa isbeddelay, jebinta dhismaha. Daraasiin saacadood ka dib, waxaan ku orday 10-15 daqiiqo habka dhismaha MediaGoblin marar badan iyo marar badan ilaa uu ugu dambeyntii shaqeeyay.
Si la mid ah ayaa dhacday dhowr bilood ka dib. Isku soo wada duuboo, labadii sano ee la soo dhaafay, silsiladda ku-tiirsanaanta MediaGoblin ayaa jebisay dhismayaasheyda dhowr jeer, markii ugu dambeysayna waxay ahayd markii aan qorayay maqaalkan. Waxaan ku dhameeyay qoraal fargeeto u gaar ah MediaGoblin c ku tiirsanaanta kood adag iyo noocyada maktabadda oo si cad loo cayimay. Si kale haddii loo dhigo, halkii laga ahaan lahaa sheegashada shakiga leh ee ah in MediaGoblin la shaqeyso nooc kasta celery >= 3.0, waxaan rakibay ku-tiirsanaan gaar ah nooca celery 4.2.1, sababtoo ah waxaan ku tijaabiyay MediaGoblin noocaan. Waxay u egtahay in badeecadu u baahan tahay habka dhisidda dib loo soo saari karolaakiin wali ma aanan samayn.
Maadaama MediaGoblin ay ku shaqaynaysay Docker mishiinka deegaankayga, tillaabada xigta waxay ahayd in la geeyo server-ka daruuraha si qoysku u daawado fiidyaha.
MediaGoblin iyo dhibaatada kaydinta muuqaalka
Waxaa jira goobo badan oo qaada sawirka Docker oo ku martigeliya URL dadweyne. Qabashada ayaa ah in marka lagu daro abka laftiisa, 33 GB oo faylal muuqaal ah ay ahayd in la daabaco. Waxay ahayd suurtogal in si adag loogu dhejiyo sawirka docker, laakiin waxay noqotay mid dhib badan oo fool xun. Beddelidda hal xariiq oo qaabeynta waxay u baahan doontaa dib-u-dejin 33 GB oo xog ah.
Markii aan isticmaalay ClipBucket, waxaan ku xaliyay dhibaatada gcsfuse - utility u ogolaanaya nidaamka qalliinka si ay u geliyaan hagaha kaydinta daruuraha Google Cloud sida waddooyinka caadiga ah ee nidaamka file. Waxaan ku marti galiyay faylalka fiidiyowga Google Cloud oo waxaan adeegsaday gcsfuse si aan ugu tuso faylal maxalli ah oo ku jira ClipBucket.
Farqiga u dhexeeya ayaa ahaa in ClipBucket uu ku dhex orday mashiinka farsamada gacanta, halka MediaGoblin uu ku dhex orday weel Docker ah. Halkan, ku-kordhinta faylalka kaydinta daruuraha ayaa noqday mid aad u adag. Waxaan qaatay daraasiin saacadood xallinta dhammaan dhibaatooyinka oo wax ka qoray boostada blog oo dhan.
Is dhexgalka bilawga ah ee MediaGoblin ee kaydinta Google Cloud, kaas oo I ayaa sheegay in 2018
Ka dib dhowr toddobaad oo lagu hagaajinayo dhammaan qaybaha, wax walbaa way shaqeeyeen. Anigoon wax isbeddel ah ku samaynin koodka MediaGoblin, waan khiyaameeyaa si aan u akhriyo oo u qoro faylasha warbaahinta kaydinta daruuraha Google.
Dhibaatada kaliya ayaa ahayd in MediaGoblin uu bilaabay inuu u shaqeeyo si aan habboonayn si tartiib tartiib ah. Waxay qaadatay 20 ilbiriqsi oo culus in la soo geliyo sawirada thumbnails ee bogga hoyga. Haddii aad horay u boodday adigoo daawanaya muuqaal, MediaGoblin waxay hakad ku jirtay 10 ilbiriqsi oo aan dhammaanayn ka hor intaysan dib u bilaabin dib u ciyaarida.
Dhibaatada ugu weyni waxay ahayd in fiidiyowyada iyo sawiradu ay u tageen isticmaalaha hab dheer oo wareeg ah. Waxay ahayd inay ka baxaan kaydinta daruuraha Google iyada oo loo marayo gcsfuse ilaa MediaGoblin, Nginx - ka dibna kaliya waxay galeen browserka isticmaalaha. Dhalada ugu weyn waxay ahayd gcsfuse, kaas oo aan loo hagaajin waxqabadka degdega ah. Horumariyayaashu waxay ka digayaan dib u dhac weyn oo ku yimaadda tamarta ee ku taal bogga ugu weyn ee mashruuca:
Fikrad ahaan, browserku waa inuu si toos ah uga soo jiidaa faylasha Google Cloud, isagoo ka gudbaya dhammaan lakabyada dhexe. Sideen u sameeyaa tan aniga oo aan si qoto dheer u gelin codebase MediaGoblin oo aan ku darin caqli-gal kakan Google Cloud isdhexgalka?
sub_filter khiyaamo gudaha nginx
Nasiib wanaag waxaan helay xal sahlan in kastoo waxoogaa yar fool xun. Waxaan ku daray qaabka default.conf ee Nginx filtar sida:
Dejintayda, Nginx wuxuu u dhaqmay sidii wakiil ka dhexeeya MediaGoblin iyo isticmaalaha dhamaadka. Dardaaranka kore wuxuu u sheegayaa Nginx inuu raadiyo oo beddelo dhammaan jawaabaha HTML ee MediaGoblin ka hor inta aan loo adeegin isticmaaleha ugu dambeeya. Nginx waxay ku beddeshaa dhammaan waddooyinka qaraabada ah ee faylasha warbaahinta MediaGoblin URL-yada kaydinta daruuraha Google.
Tusaale ahaan, MediaGoblin waxay soo saartaa HTML-kan:
Hadda wax walba waxay u shaqeeyaan sidii la rabay:
Nginx waxay dib u qortaa jawaabaha MediaGoblin si ay macaamiishu uga codsadaan faylasha warbaahinta si toos ah kaydinta daruuraha Google
Qeybta ugu fiican ee ku saabsan xalkeyga waa in aysan u baahnayn wax isbeddel ah oo ku yimaada koodka MediaGoblin. Dardaaranka labada sadar ee Nginx wuxuu si aan kala go 'lahayn isugu daraa MediaGoblin iyo Google Cloud, in kasta oo labada adeeg aysan waxba ka ogeyn midba midka kale.
tacliiqXalkani wuxuu u baahan yahay in faylasha Google Cloud Storage uu noqdo mid qof walba akhriyi karo. Si loo yareeyo khatarta gelitaanka aan la ogalayn, waxaan isticmaalaa magac baaldi random dheer (tusaale ahaan, mediagoblin-39dpduhfz1wstbprmyk5ak29) oo xaqiiji in nidaamka xakamaynta gelitaanka baaldigu aanu u oggolaan isticmaalayaasha aan la oggolayn inay soo bandhigaan waxa ku jira hagaha.
Wax soo saarka u dambeeya
Halkaa marka ay marayso, waxa aan helay xal dhamaystiran oo shaqaynaya. MediaGoblin waxay si farxad leh ugu dhex orday weelkeeda Google Cloud Platform sidaa darteed uma baahnayn in la dhejiyo ama la cusbooneysiiyo si joogto ah. Wax kasta oo habkayga ku jira waxa ay ahaayeen kuwo toos ah oo dib loo soo saari karo, taas oo u oggolaanaysa in wax laga beddelo ama dib loogu noqdo noocyadii hore.
Qoyskaygu aad bay u jeclaysteen sida ay u fududahay in la daawado fiidiyowyada. Iyada oo la kaashanayo hack-ka Nginx ee kor lagu sharaxay, la shaqeynta fiidiyaha waxay noqotay mid dhakhso badan sida YouTube-ka.
Shaashada muuqaalku waxay u egtahay sidan:
Nuxurka buug-yaraha fiidiyowyada qoyska oo lagu sumadeeyo "Best"
Gujista thumbnail-ka waxay keenaysaa shaashadda soo socota:
Sannado badan oo shaqo ah ka dib, waxaan si cajiib ah ugu faraxsanahay inaan siiyo qaraabada fursad ay ku daawadaan fiidiyowyadayada isla interface ku habboon sida YouTube, oo aan markii hore rabay.
Gunnada: Kharash dhimis wax ka yar $1 bishii
Waxaad daawataa fiidiyowyada guriga si aan badnayn, kaliya dhowrkii biloodba mar. Qoyskaygu waxay si wadajir ah u dhalin jireen ilaa 20 saacadood oo taraafikada sannadkii, laakiin seerfarku waxa uu socday 15/99,7. Waxaan bixin jiray $XNUMX bishii server-ka hoos u dhacay XNUMX% wakhtiga.
Dhamaadka 2018, Google ayaa soo saartay badeecad Cloud Run. Sifada dilaaga ah ayaa ku shaqaynaysay weelasha Docker si dhakhso ah si codsigu uga jawaabi karo codsiyada HTTP. Taasi waa, server-ku wuxuu ku sii jirayaa qaabka heeganka - oo wuxuu bilaabmaa kaliya marka qof doonayo inuu aado. Barnaamijyada aan badnayn ee sida kayga oo kale ah, kharashyadu waxay ka tageen $15 bishii ilaa dhawr senti sannadkii.
Sababaha aanan xasuusan dartood, Cloud Run kuma shaqayn sawirkayga MediaGoblin. Laakin markii uu soo baxay Cloud Run, ayaan taas xasuustay Heroku waxay ku bixisaa adeeg la mid ah bilaash, qalabkooduna aad buu uga sahlan yahay kan Google-ka.
Haddii aad ku kaydiso xogta badan qaab codsi gaar ah (ama ka sii xun, haba yaraatee ha kaydin), ma awoodid inaad dib u sameyso shaqada haddii aad go'aansato inaad isticmaasho xal kale.
Markaad tafatirayso, waxaad arkaysaa xog badan oo faa'iido leh oo ku saabsan fiidiyowga. Waad waayi doontaa haddii aadan badbaadin.
Maxaa ka dhacaya muuqaalka?
Yaa halkaas ka diiwaan gashan?
Goorma ayaa la duubay?
Tag fiidiyowyada aad jeceshahay
Run ahaantii, inta badan waxa ku jira fiidyowga guriga waa caajis.
Waxaan codsadaa summada "ugu fiican" ee cajaladaha aan jeclahay oo aan furo markaan rabo inaan daawado fiidiyowyada qosolka leh.
Abaabulka xal dhamaystiran sida ugu dhaqsaha badan si hawshu u socoto isla markiiba bilaw ilaa dhamaad.
Waxaan isku dayey inaan marka hore dhammaan cajaladaha digitize, ka dibna wax ka beddelo dhammaan cajaladaha, iwm.
Waxaa aad u xun in aanan ku bilaabin hal cajalad oo aan ku qabtay shaqada oo dhan. Markaa waxaan fahmi lahaa go'aamada iyo marxaladahee saameeya natiijada kama dambaysta ah.
Yaree dib u habeynta
Mar kasta oo aad wax ka beddesho ama dib-u-dejiso clip, waxaad hoos u dhigtaa tayadiisa.
Digitize muuqalka cayriin tayada ugu sareysa, ka dibna u beddel muuqaal kasta hal mar si sax ah qaabka daalacashadu u ciyaaraan asal ahaan.
Isticmaal xalka ugu fudud ee suurtogalka ah ee ku dhejinta fiidiyowyada.
Marka dib loo eego, MediaGoblin waxay u egtahay qalab aad u adag oo loogu talagalay xaalad fudud oo fudud oo soo saarista bogag shabakad ah oo wata galal muuqaal ah oo taagan.
Haddii aan dib u bilaabo, waxaan isticmaali lahaa koronto-dhaliyaha goobta taagan sida Hugo, Jekyll ama Gridsome.
Samee montage.
Tafatirka fiidiyowgu waa hab madadaalo leh oo la isku daro daqiiqadaha ugu fiican ee fiidiyowyo badan.
Waxa ugu weyn ee tafatirka waa muusigga. Tusaale ahaan, dulucdu waa cajiib Baraf qunyar laga bilaabo The National, tani waa daahfurtayda shakhsi ahaaneed.