. Emva kokucubungula zonke iikliphu, bendifuna ukucwangcisa ukubukela kwabo kwi-intanethi ngokulula njengakuYouTube. Kuba ezi ziinkumbulo zobuqu zosapho, azinakuthunyelwa kuYouTube uqobo. Sifuna ukusingathwa kwabucala ngakumbi okufanelekileyo kwaye kukhuselekile.
Inyathelo 3: Ukupapasha
I-ClipBucket, umthombo ovulekileyo we-YouTube clone enokufakwa kwiseva yakho
Into yokuqala ndizamile , ezibiza ngokuba yi-clone ye-YouTube evulelekileyo onokuthi uyifake kwiseva yakho.

Okothusayo kukuba, iClipBucket ayinayo imiyalelo yokufaka. Enkosi Ku я ngoncedo , isixhobo solawulo loqwalaselo lomncedisi.
Inxalenye yobunzima yayikukuba izikripthi zofakelo lweClipBucket zaphulwa ngokupheleleyo. Ngelo xesha mna kwaye ngokwemiqathango yekhontrakthi andinalo ilungelo lokufaka isandla kumthombo ovulekileyo we-clone ye-YouTube, kodwa mna , ekunokwenziwa kuzo ngokulula izilungiso eziyimfuneko. Zaqengqeleka iinyanga bengaqondi ukuba yintoni ingxaki. Endaweni yoko bongeza yonke into ngaphezu bugs kulo lonke ukhupho.
I-ClipBucket isebenze kwimodeli yokubonisana-bakhupha ikhowudi yabo mahhala kwaye bahlawuliswe ngoncedo lokuthunyelwa. Kuye kwacaca kum ukuba inkampani eyenza imali ngenkxaso ehlawulwayo mhlawumbi ayinamdla kakhulu wokuba abathengi bazifakele ngokwabo imveliso.
I-MediaGoblin, enye indlela yangoku
Emva kweenyanga zokukhungatheka ngeClipBucket, ndajonga kwiinketho ezikhoyo kwaye ndazifumana .

liqonga lokwabelana ngemidiya ngaphandle kweintanethi
I-MediaGoblin inezinto ezininzi ezimnandi. Ngokungafaniyo ne-ClipBucket kwi-PHP engabonakaliyo, i-MediaGoblin ibhalwe kwi-Python, ulwimi endinalo ulwazi oluninzi lwekhowudi. Yitya , ekuvumela ukuba ukhuphele ividiyo ngokulula. Okona kubaluleke kakhulu, iMediaGoblin iza nayo , ephelisa naziphi na iingxaki zokufakela.
bubuchwephesha obenza imeko-bume yokuzimela ukuze isicelo siqhube naphi na. Ndisebenzisa iDocker ngaphakathi .
Ubunzima obumangalisayo bokwenza kwakhona i-MediaGoblin
Ndicinge ukuba ukuthumela umfanekiso weMediaGoblin docker kuya kuba ngumsebenzi omncinci. Ewe, ayizange isebenze ngolo hlobo.
Umfanekiso ogqityiweyo ubungaqulathanga imisebenzi emibini eyimfuneko:
- Uqinisekiso
- I-MediaGoblin yenza i-portal yemidiya yoluntu ngokuzenzekelayo, kwaye ndandifuna indlela yokuthintela ukufikelela kubantu bangaphandle.
- Ukuguqula iikhowudi
- Ngalo lonke ixesha ukhuphela ividiyo, iMediaGoblin izama ukuyigqithisa ukuze isasazeke ngokufanelekileyo. Ukuba ividiyo ilungele ukusasazwa ekuqaleni, i-transcoding ithoba umgangatho.
- MediaGoblin ibonelela , kodwa oku akunakukwenziwa kumfanekiso weDocker okhoyo.
Ewe, akukho ngxaki. Umfanekiso weDocker uza nayo , ngoko kunokwenzeka .
Ngelishwa, umfanekiso weDocker awusakhiwanga ngoku. . Ndizamile ukuyingqamanisa noguqulelo olusuka kulwakhiwo oluphumeleleyo lokugqibela, kodwa nayo yasilela. Nangona ndisebenzise ikhowudi efanayo, ukuxhomekeka kwangaphandle kweMediaGoblin kwatshintsha, kwaphula ukwakhiwa. Emva kweeyure ezininzi, ndibaleke nge-10-15 imizuzu yenkqubo yokwakha iMediaGoblin ngokuphindaphindiweyo de yade yasebenza.
Kwiinyanga ezimbalwa kamva kwenzeka into efanayo. Lilonke, ikhonkco lokuxhomekeka kweMediaGoblin liye laphula ulwakhiwo lwam izihlandlo ezininzi kule minyaka imbalwa idlulileyo, kwaye ixesha lokugqibela yenzeka kanye ngelixa ndibhala eli nqaku. Ekugqibeleni ndapapasha c kunye neenguqulelo ezicacisiweyo zamathala eencwadi. Ngamanye amazwi, endaweni yebango elithandabuzekayo lokuba iMediaGoblin isebenza nayo nayiphi na inguqulelo >= 3.0, ndifakele uhlobo oluthile lokuxhomekeka kuba ndivavanye iMediaGoblin ngale nguqulo. Kubonakala ngathi iimfuno zemveliso , kodwa andikayenzi.
Nangona kunjalo, emva kweeyure ezininzi zomzabalazo, ekugqibeleni ndakwazi ukwakha kunye nokuqwalasela iMediaGoblin kumfanekiso weDocker. Kwasele kulula apho и .
Inyathelo 4. Ukusingatha
Kuba iMediaGoblin yayiqhuba iDocker kwikhompyuter yam yasekhaya, inyathelo elilandelayo yayikukuyithumela kwiseva yelifu ukuze usapho luyibukele ividiyo.
MediaGoblin kunye nengxaki yokugcina ividiyo
Kukho amaqonga amaninzi athatha umfanekiso weDocker kwaye awubambe kwi-URL yoluntu. Ukubamba kukuba ukongeza kwi-app ngokwayo, i-33 GB yeefayile zevidiyo kwafuneka ipapashwe. Kwakunokwenzeka ukuzifaka nzima kumfanekiso weDocker, kodwa oko kuya kuba nzima kwaye kubi. Ukutshintsha umgca omnye woqwalaselo kuya kufuna ukuthunyelwa kwakhona kwe-33 GB yedatha.
Xa ndisebenzisa iClipBucket ndayisombulula ingxaki nge -isixhobo esivumela inkqubo yokusebenza ukuba ilayishe abalawuli kwi-Google Cloud yokugcina ilifu njengeendlela eziqhelekileyo kwinkqubo yefayile. Ndibambe iifayile zevidiyo kwiLifu likaGoogle kwaye ndasebenzisa i-gcsfuse ukuze zibonakale kwiClipBucket njengeefayile zasekhaya.
Umahluko yayikukuba iClipBucket yabaleka kumatshini wokwenyani, ngelixa iMediaGoblin yayibaleka kwisitya seDocker. Apha, ukunyuswa kweefayile ukusuka kwisitoreji selifu kuye kwaba nzima kakhulu. Ndichithe iiyure ezininzi ndisombulula zonke iingxaki ndaza ndabhala ngazo .

Ukuhlanganiswa kokuqala kweMediaGoblin kunye nokugcinwa kweLifu likaGoogle, endithetha ngalo
Emva kweeveki ezininzi zokulungelelanisa onke amacandelo, yonke into yasebenza. Ngaphandle kokwenza naluphi na utshintsho kwikhowudi yeMediaGoblin, ndiyiqhathile ekufundeni nasekubhaleni iifayile zemidiya kwindawo yokugcina ilifu likaGoogle.
Ingxaki kuphela yayikukuba iMediaGoblin yacotha ngamanyala. Kuthathe imizuzwana engama-20 epheleleyo ukuba ii-thumbnails zevidiyo zilayishwe kwiphepha lasekhaya. Ukuba uthe watsibela phambili ngelixa ubukele ividiyo, iMediaGoblin iya nqumama imizuzwana eli-10 engapheliyo ngaphambi kokuba iphinde idlale kwakhona.
Ingxaki ephambili yayikukuba iividiyo kunye nemifanekiso ithathe indlela ende, ejikelezayo eya kumsebenzisi. Kwakufuneka bahambe ukusuka kugcino lwelifu likaGoogle nge-gcsfuse ukuya kwiMediaGoblin, iNginx-kwaye kuphela emva koko bafika kwisikhangeli somsebenzisi. Eyona nto iphambili ibiyi-gcsfuse, engalungiselelwanga isantya. Abaphuhlisi balumkisa malunga nokulibaziseka okukhulu ekusebenzeni kwesixhobo kwiphepha eliphambili leprojekthi:

Hlela izilumkiso kuxwebhu lwegcsfuse
Ngokufanelekileyo, isikhangeli kufuneka silande iifayile ngokuthe ngqo kwiLifu likaGoogle, sigqitha kuyo nayiphi na imigangatho ephakathi. Ungayenza njani le nto ngaphandle kokuntywila kwi-codebase yeMediaGoblin okanye ukongeza ingqiqo yokudityaniswa kweLifu likaGoogle?
I-Sub_filter trick kwi nginx
Ngethamsanqa ndafumana isisombululo esilula, nangona kunjalo kancinane imbi. Ndongeze kuqwalaselo olungagqibekanga.conf kwiNginx :
sub_filter "/mgoblin_media/media_entries/" "https://storage.googleapis.com/MY-GCS-BUCKET/media_entries/";
sub_filter_once off;Kuseto lwam, iNginx isebenze njengommeli phakathi kweMediaGoblin kunye nomsebenzisi wokugqibela. Lo myalelo ungasentla uyalela i-Nginx ukuba ikhangele kwaye ibuyisele zonke iimpendulo ze-MediaGoblin ze-HTML ngaphambi kokuba zisebenze kumsebenzisi wokugqibela. I-Nginx ithatha indawo yazo zonke iindlela ezihambelanayo kwiifayile zeMediaGoblin zemidiya ngee-URL ezisuka kugcino lwelifu likaGoogle.
Umzekelo, iMediaGoblin ivelisa iHTML ngolu hlobo:
<video width="720" height="480" controls autoplay>
<source
src="/mgoblin_media/media_entries/16/Michael-riding-a-bike.mp4"
type="video/mp4">
</video>I-Nginx itshintsha impendulo:
<video width="720" height="480" controls autoplay>
<source
src="https://storage.googleapis.com/MY-GCS-BUCKET/media_entries/16/Michael-riding-a-bike.mp4"
type="video/mp4">
</video>Ngoku yonke into isebenza njengoko bekulindelwe:

I-Nginx iphinda ibhale iimpendulo kwiMediaGoblin ukuze abathengi bakwazi ukucela iifayile zemidiya ngqo kugcino lukaGoogle kwilifu
Elona candelo lilungileyo malunga nesisombululo sam kukuba ayifuni naluphi na utshintsho kwikhowudi yeMediaGoblin. Umyalelo wemigca emibini ye-Nginx udibanisa ngaphandle komthungo iMediaGoblin kunye neLifu likaGoogle, nangona iinkonzo zingazi nto malunga nomnye.
Qaphela:: Esi sisombululo sifuna ukuba iifayile ezigcinwe kwilifu likaGoogle zifundeke ngumntu wonke. Ukunciphisa umngcipheko wokufikelela okungagunyaziswanga, ndisebenzisa igama lebhakethi elide, elingahleliwe (umz.
mediagoblin-39dpduhfz1wstbprmyk5ak29) kwaye uqinisekise ukuba inkqubo yolawulo lofikelelo lwebhakethi ayivumeli abasebenzisi abangagunyaziswanga ukuba babonise imixholo yolawulo.
Imveliso yokugqibela
Ngeli xesha bendinesisombululo esipheleleyo, esisebenzayo. I-MediaGoblin ibaleke ngokonwaba kwisikhongozeli sayo kwiqonga lelifu likaGoogle, ke bekungafuneki ukuba icocwe okanye ihlaziywe rhoqo. Yonke into kwinkqubo yam yayizenzekela kwaye iphinda iphindeke, ivumela ukuhlelwa okulula okanye ukubuyisela umva kwiinguqulelo zangaphambili.
Intsapho yam yayiyithanda kakhulu indlela ekulula ngayo ukubukela iividiyo. Ngoncedo lwe-Nginx hack echazwe ngasentla, ukusebenza ngeevidiyo kuye kwakhawuleza njengakwiYouTube.
Isikrini sokujonga sijongeka ngolu hlobo:

Imixholo yekhathalogu yevidiyo yosapho ngethegi "Eyona nto ingcono"
Ukucofa kwi-thumbnail kuzisa isikrini esinje:

Ukujonga ikliphu enye kwiseva yemidiya
Emva kweminyaka yokusebenza, kwaba luncedo kakhulu ukunika amalungu osapho ithuba lokubukela iividiyo zethu ngendlela efanayo yomsebenzisi efana ne-YouTube endandiyifuna kuqala.
Ibhonasi: Nciphisa iindleko ukuya ngaphantsi kwe $1 ngenyanga
Awuzibukeli iividiyo zasekhaya rhoqo, kuphela emva kweenyanga ezimbalwa. Usapho lwam ngokudibeneyo luvelise malunga neeyure ze-20 zetrafikhi ngonyaka, kodwa umncedisi wayeqhuba i-15/99,7. Ndihlawule i-$ XNUMX ngenyanga kwi-server eyayiphantsi kwe-XNUMX% yexesha.
Ekupheleni kwe2018, uGoogle wayikhulula imveliso . Into ebulalayo yayiqhuba izitya zeDocker ngokukhawuleza kangangokuba isicelo sinokuphendula kwizicelo zeHTTP. Oko kukuthi, iseva inokuhlala ikwimowudi yokulinda kwaye iqale kuphela xa umntu efuna ukufikelela kuyo. Ukuqhuba izicelo ezinqabileyo ezifana nezam, iindleko zehle ukusuka kwi-15 yeedola ngenyanga ukuya kwiisenti ezimbalwa ngonyaka.
Ngezizathu endingazikhumbuliyo, i-Cloud Run ayizange isebenze nomfanekiso wam weMediaGoblin. Kodwa ngokufika kwe-Cloud Run ndakhumbula oko ibonelela ngenkonzo efanayo simahla, kwaye izixhobo zabo zisebenziseka ngakumbi kunezo zikaGoogle.
Ngomncedisi wesicelo samahhala, iindleko kuphela kukugcinwa kwedatha. Ugcino lwengingqi olusemgangathweni lukaGoogle luxabisa i-2,3 cent/GB. I-archive yevidiyo ithatha i-33 GB, ngoko ndihlawula kuphela i-77 cent ngenyanga.

Esi sisombululo sixabisa i-$ 0,77 kuphela ngenyanga
Iingcebiso kwabo baceba ukuzama
Kucacile ukuba le nkqubo yandithatha ixesha elide. Kodwa ndiyathemba ukuba eli nqaku liza kukunceda ugcine i-80-90% yomzamo wokwenza idijithali kunye nokupapasha iividiyo zakho zasekhaya. Kwicandelo elahlukileyo ungafumana kuyo yonke le nkqubo, kodwa nazi iingcebiso ngokubanzi:
- Ngexesha ledijithali kunye nesigaba sokuhlela, gcina imetadata eninzi kangangoko kunokwenzeka.
- Ulwazi oluxabisekileyo lusoloko lurekhodwa kwiilebhile zeekhasethi zevidiyo.
- Gcina umkhondo ukuba yeyiphi ikliphu edutyulwe kweyiphi iteyiphu kwaye ingalandelelani.
- Bhala phantsi umhla wokudubula, onokuvela kwividiyo.
- Cinga ngokuhlawulela iinkonzo zobuchwephesha bedijithali.
- uza ku kakhulu kunzima kwaye kuyabiza ukuzidibanisa ngokomgangatho wokufakwa kwedijithali.
- Kodwa hlala kude nenkampani ebizwa ngokuba yi-EverPresent (ndithumele umyalezo ukuba ufuna iinkcukacha).
- Ukuba uyazenzela ngokwakho, thenga iHDD.
- Ividiyo yenkcazo esemgangathweni engaxinzekanga ithatha i-100-200 MB ngomzuzu.
- Ndandigcine yonke into kum (10 TB).
- Rekhoda imetadata kwifomati eqhelekileyo engabotshelelwanga kwisicelo esithile.
- Iinkcazo zekliphu, iikhowudi zexesha, imihla, njl.
- Ukuba ugcina imetadata kwifomati yesicelo-ethile (okanye okubi ngakumbi, ungayigcini kwaphela), awuyi kukwazi ukuphinda wenze umsebenzi ukuba uthatha isigqibo sokusebenzisa isisombululo esahlukileyo.
- Njengoko uhlela, ubona uninzi lwemetadata eluncedo kwividiyo. Uya kuphulukana nazo ukuba awuzigcini.
- Kwenzeka ntoni kwividiyo?
- Ngubani obhalisiweyo apho?
- Ibhalwe nini le nto?
- Phawula iividiyo zakho ozithandayo.
- Ukunyaniseka, uninzi lweevidiyo zasekhaya ziyadika.
- Ndisebenzisa eyona thegi “yeyona ilungileyo” kwiziqendu endizithandayo kwaye ndizivule xa ndifuna ukubukela iividiyo ezihlekisayo.
- Lungiselela isisombululo esibanzi kwangoko kangangoko ukuze inkqubo ihambe ngqo ukusuka ekuqaleni ukuya ekugqibeleni.
- Ndizame ukwenza zonke iikhasethi zibe yidijithali kuqala, emva koko ndihlele zonke iikhasethi, njl.
- Akwaba bendiqale ngeteyiphu enye kwaye ndenze wonke umsebenzi ngayo. Emva koko ndiza kuqonda ukuba zeziphi izigqibo kwaye ngawaphi amanqanaba achaphazela umphumo wokugqibela.
- Gcina urekhoda ubuncinci.
- Ngalo lonke ixesha uhlela okanye uguqulela ikliphu, wehlisa umgangatho wayo.
- Yenza umboniso wakho okrwada ube ngowona mgangatho uphezulu, emva koko uguqule ikliphu nganye kanye kanye kwifomathi enikelwa ngabakhangeli ngokwemveli.
- Sebenzisa esona sisombululo silula ukupapasha iiklip zevidiyo.
- Xa sijonga umva, iMediaGoblin ibonakala ngathi sisixhobo esintsonkothileyo kakhulu semeko elula yokuvelisa amaphepha ewebhu aneseti emileyo yeefayile zevidiyo.
- Ukuba bendiqala phantsi, bendiza kusebenzisa ijenereyitha yendawo engatshintshiyo , okanye .
- Yenza ufakelo.
- Ukuhlelwa kwevidiyo yindlela eyonwabisayo yokudibanisa elona xesha lilungileyo kwiividiyo ezininzi.
- Eyona nto iphambili ekuhleleni umculo. Umzekelo, umxholo uyamangalisa ukusuka kuZwelonke, oku kukufumanisa kwam.
umthombo: www.habr.com
