Isifiso sami seminyaka eyisishiyagalombili sokwenza amakhasethi evidiyo angama-45 abe yidijithali. Ingxenye 2

Ingxenye yokuqala ichaza umzamo onzima wokwenza amavidiyo omndeni amadala abe yidijithali futhi uwahlukanise abe izigcawu ezihlukene.. Ngemuva kokucubungula zonke iziqeshana, bengifuna ukuhlela ukubuka kwazo ku-inthanethi ngendlela elula njengaku-YouTube. Njengoba lezi kuyizinkumbulo zomuntu siqu zomndeni, azikwazi ukuthunyelwa ku-YouTube ngokwayo. Sidinga ukusingathwa okuyimfihlo okubili okulula futhi okuvikelekile.

Isinyathelo sesi-3: Ukushicilela

I-ClipBucket, i-clip ye-YouTube engumthombo ovulekile engafakwa kuseva yakho

Okokuqala ngizamile I-ClipBucket, ezizibiza nge-clone ye-YouTube yomthombo ovulekile ongayifaka kuseva yakho.

Isifiso sami seminyaka eyisishiyagalombili sokwenza amakhasethi evidiyo angama-45 abe yidijithali. Ingxenye 2

Kuyamangaza ukuthi i-ClipBucket ayinayo imiyalelo yokufaka. Sibonga u kubaphathi bangaphandle я ngokuzenzakalela inqubo yokufaka ngosizo lwe Ansible, ithuluzi lokuphatha ukucushwa kweseva.

Ingxenye yobunzima yayiwukuthi imibhalo yokufaka ye-ClipBucket yaphuka ngokuphelele. Ngaleso sikhathi I usebenze kwa-Google futhi ngokwemibandela yenkontileka ngangingenalo ilungelo lokunikela kumthombo ovulekile we-YouTube clone, kodwa mina uthumele umbiko wesiphazamisi, okwakungenziwa kuwo kalula ukulungisa okudingekile. Kwadlula izinyanga bengakaqondi ukuthi inkinga ikuphi. Kunalokho bangeza konke ngaphezu izimbungulu kukho konke ukukhishwa.

I-ClipBucket yasebenza ngemodeli yokubonisana-bakhiphe ikhodi yabo mahhala futhi bakhokhiswa usizo lokuthunyelwa. Kancane kancane kwangikhanyela ukuthi inkampani eyenza imali ngosekelo olukhokhelwayo cishe ayinantshisekelo yokuba amakhasimende azifakele umkhiqizo ngokwawo.

I-MediaGoblin, enye indlela yesimanjemanje

Ngemuva kwezinyanga zokukhungatheka nge-ClipBucket, ngibheke izinketho ezitholakalayo futhi ngathola Abezindaba.

Isifiso sami seminyaka eyisishiyagalombili sokwenza amakhasethi evidiyo angama-45 abe yidijithali. Ingxenye 2
Abezindaba iyinkundla yokwabelana ngemidiya engaxhunyiwe ku-inthanethi

I-MediaGoblin inezinto eziningi ezinhle. Ngokungafani ne-ClipBucket ku-PHP engathandeki, i-MediaGoblin ibhalwe nge-Python, ulimi enginolwazi oluningi lokubhala amakhodi ngalo. Yidla isikhombimsebenzisi somugqa womyalo, okukuvumela ukuthi wenze ngokuzenzakalelayo ukulanda kwevidiyo. Okubaluleke kakhulu, iMediaGoblin iza nayo Isithombe se-Docker, eqeda noma yiziphi izinkinga zokufaka.

Docker ubuchwepheshe obudala indawo ezimele ukuze isicelo sisebenze noma yikuphi. Ngisebenzisa i-Docker ngaphakathi amaphrojekthi akhe amaningi.

Ubunzima obumangalisayo bokwenza kabusha i-MediaGoblin

Ngicabange ukuthi ukusebenzisa isithombe sedokhi seMediaGoblin kungaba umsebenzi omncane. Nokho, lokho akusebenzanga ngaleyo ndlela.

Isithombe esiqediwe besingenayo imisebenzi emibili edingekayo:

  • Ukufakazela ubuqiniso
    • I-MediaGoblin idala ingosi yemidiya yomphakathi ngokuzenzakalelayo, futhi ngangidinga indlela yokukhawulela ukufinyelela kubantu bangaphandle.
  • Ukudlulisa amakhodi
    • Ngaso sonke isikhathi uma ulanda ividiyo, iMediaGoblin izama ukuyidlulisa ukuze isakazwe kahle. Uma ividiyo isilungele ukusakazwa ekuqaleni, i-transcoding yehlisa isithunzi ikhwalithi.
    • MediaGoblin inikeza ikhubaza i-transcoding ngezinketho zokumisa, kodwa lokhu akunakwenziwa esithombeni esikhona se-Docker.

Hhayi-ke, akunankinga. Isithombe se-Docker siza nayo umthombo ovulekile, ngakho-ke kungenzeka uzakhele kabusha.

Ngeshwa, isithombe se-Docker asisakhiwa kusukela kulesi samanje. I-MediaGoblin Repository. Ngizamile ukuyivumelanisa nenguqulo yokwakhiwa kokugcina okuyimpumelelo, kodwa lokho futhi kwehlulekile. Noma ngisebenzise ikhodi efanayo ncamashi, ukuncika kwangaphandle kweMediaGoblin kwashintsha, kwephula ukwakhiwa. Ngemuva kwamahora amaningi, ngagijima ngenqubo yokwakha ye-MediaGoblin yemizuzu eyi-10-15 kaningi kwaze kwaba yilapho isisebenza ekugcineni.

Ezinyangeni ezimbalwa kamuva kwenzeka okufanayo. Sekukonke, iketango lokuncika kwe-MediaGoblin liphule ukwakha kwami ​​izikhathi ezimbalwa kule minyaka embalwa edlule, futhi okokugcina kwenzeka ngenkathi ngibhala lesi sihloko. Ekugcineni ngashicilela imfoloko siqu MediaGoblin c ukuncika kwekhodi eqinile kanye nezinguqulo ezicaciswe ngokusobala zamalabhulali. Ngamanye amazwi, esikhundleni sesimangalo esingabazisayo sokuthi iMediaGoblin isebenza nanoma iyiphi inguqulo isilimo esinamagatsha anamanzi >= 3.0, ngifake ukuncika kwenguqulo ethile isilimo esidliwayo esinamagatsha anamanzi 4.2.1ngoba ngihlole iMediaGoblin ngale nguqulo. Kubukeka sengathi umkhiqizo udinga indlela yokwakha kabusha, kodwa angikakwenzi.

Noma kunjalo, ngemva kwamahora amaningi omzabalazo, ekugcineni ngakwazi ukwakha nokulungisa i-MediaGoblin esithombeni se-Docker. Kwase kulula lapho yeqa ukudlulisa amakhodi okungadingekile ΠΈ faka i-Nginx ukuze uqinisekise.

Isinyathelo 4. Ukusingatha

Njengoba i-MediaGoblin ibisebenzisa i-Docker kukhompuyutha yami yasendaweni, isinyathelo esilandelayo kwakuwukuyisa kuseva yefu ukuze umndeni ukwazi ukubuka ividiyo.

I-MediaGoblin kanye nenkinga yokugcina ividiyo

Kunamapulatifomu amaningi athatha isithombe se-Docker futhi asibambe ku-URL yomphakathi. Okubanjiwe ukuthi ngaphezu kohlelo lokusebenza ngokwalo, i-33 GB yamafayela evidiyo bekufanele ishicilelwe. Bekungenzeka ukuwafaka amakhodi kanzima esithombeni se-Docker, kodwa lokho kungaba nzima futhi kubi. Ukushintsha umugqa owodwa wokucushwa kuzodinga ukuphinda kusetshenziswe u-33 GB wedatha.

Lapho ngisebenzisa i-ClipBucket ngaxazulula inkinga nge gcsfuse - insiza evumela isistimu yokusebenza ukuthi ilayishe izinkomba kusitoreji samafu se-Google njengezindlela ezijwayelekile zokuya ohlelweni lwamafayela. Ngiphathe amafayela evidiyo ku-Google Cloud futhi ngasebenzisa i-gcsfuse ukuze ngiwenze avele ku-ClipBucket njengamafayela endawo.

Umehluko wawuwukuthi i-ClipBucket yayigijima ngomshini wangempela obonakalayo, kuyilapho i-MediaGoblin igijima esitsheni se-Docker. Lapha, ukukhweza amafayela kusuka kusitoreji samafu kube nzima kakhulu. Ngachitha inqwaba yamahora ngixazulula zonke izinkinga futhi ngibhala ngakho konke okuthunyelwe kwebhulogi.

Isifiso sami seminyaka eyisishiyagalombili sokwenza amakhasethi evidiyo angama-45 abe yidijithali. Ingxenye 2
Ukuhlanganiswa kokuqala kwe-MediaGoblin ne-Google Cloud storage, engikhuluma ngayo watshelwa ngo-2018

Ngemva kwamasonto ambalwa ukulungisa zonke izingxenye, konke kwasebenza. Ngaphandle kokwenza izinguquko kukhodi yeMediaGoblin, ngiyikhohlise ekufundeni nasekubhaleni amafayela emidiya kwisitoreji samafu se-Google.

Inkinga kuphela ukuthi iMediaGoblin yahamba kancane ngamanyala. Kuthathe amasekhondi angu-20 agcwele ukuthi izithonjana zevidiyo zilayishwe ekhasini eliyisiqalo. Uma ugxumele phambili ngenkathi ubuka ividiyo, iMediaGoblin izoma imizuzwana eyi-10 engapheli ngaphambi kokuphinda idlale.

Inkinga enkulu ukuthi amavidiyo nezithombe zithathe indlela ende, ezungezayo eya kumsebenzisi. Kwadingeka basuke kusitoreji samafu se-Google badlule ku-gcsfuse baye kuMediaGoblin, Nginx - futhi ngemva kwalokho bafika esipheqululini somsebenzisi. Ibhodlela eliyinhloko bekuyi-gcsfuse, engalungiselelwe isivinini. Abathuthukisi baxwayisa ngokubambezeleka okukhulu ekusebenzeni kwensiza ekhasini eliyinhloko lephrojekthi:

Isifiso sami seminyaka eyisishiyagalombili sokwenza amakhasethi evidiyo angama-45 abe yidijithali. Ingxenye 2
Izixwayiso mayelana nokusebenza okuphansi kumadokhumenti e-gcsfuse

Ngokufanelekile, isiphequluli kufanele silande amafayela ngokuqondile ku-Google Cloud, sidlule noma yiziphi izendlalelo eziphakathi. Ungakwenza kanjani lokhu ngaphandle kokucwila ku-codebase ye-MediaGoblin noma ukwengeza ingqondo eyinkimbinkimbi yokuhlanganisa ye-Google Cloud?

Iqhinga lesihlungi esingaphansi ku-nginx

Ngenhlanhla ngathola isixazululo esilula, nakuba kancane kubi. Ngengeze ekucushweni okuzenzakalelayo.conf ku-Nginx isihlungi esinjalo:

sub_filter "/mgoblin_media/media_entries/" "https://storage.googleapis.com/MY-GCS-BUCKET/media_entries/";
sub_filter_once off;

Ekusetheni kwami, i-Nginx isebenze njengommeleli phakathi kweMediaGoblin nomsebenzisi wokugcina. Umyalelo ongenhla uyala i-Nginx ukuthi iseshe futhi ibuyisele zonke izimpendulo ze-MediaGoblin HTML ngaphambi kokuzinikeza umsebenzisi wokugcina. I-Nginx ingena esikhundleni sayo yonke imizila ehlobene eya kumafayela emidiya ye-MediaGoblin ngama-URL asuka kusitoreji samafu se-Google.

Isibonelo, iMediaGoblin ikhiqiza i-HTML kanje:

<video width="720" height="480" controls autoplay>
  <source
    src="/mgoblin_media/media_entries/16/Michael-riding-a-bike.mp4"
    type="video/mp4">
</video>

Impendulo ivela ku- Nginx:

<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>

Manje konke kuhamba kahle njengoba bekulindelekile:

Isifiso sami seminyaka eyisishiyagalombili sokwenza amakhasethi evidiyo angama-45 abe yidijithali. Ingxenye 2
I-Nginx ibhala kabusha izimpendulo ezivela ku-MediaGoblin ukuze amaklayenti akwazi ukucela amafayela emidiya ngokuqondile kwisitoreji samafu se-Google

Ingxenye engcono kakhulu ngesixazululo sami ukuthi ayidingi izinguquko kukhodi ye-MediaGoblin. Isiqondiso semigqa emibili ye-Nginx sihlanganisa ngaphandle komthungo i-MediaGoblin ne-Google Cloud, nakuba izinsizakalo zingazi lutho nhlobo.

Ukubhala: Lesi sixazululo sidinga ukuthi amafayela akusitoreji samafu se-Google afundeke yiwo wonke umuntu. Ukunciphisa ubungozi bokufinyelela okungagunyaziwe, ngisebenzisa igama lebhakede elide, elingahleliwe (isb. mediagoblin-39dpduhfz1wstbprmyk5ak29) futhi uqinisekise ukuthi inqubomgomo yokulawula ukufinyelela kwebhakede ayibavumeli abasebenzisi abangagunyaziwe ukuthi babonise okuqukethwe kohla lwemibhalo.

Umkhiqizo wokugcina

Kuleli qophelo ngaba nesixazululo esiphelele, esisebenzayo. I-MediaGoblin igijime ngenjabulo esitsheni sayo ku-platform yamafu ye-Google, ngakho ibingadingi ukupeshishwa noma ibuyekezwe njalo. Yonke into kunqubo yami yayizenzakalela futhi ikwazi ukukhiqizwa kabusha, okuvumela ukuhlela okulula noma ukubuyisela emuva ezinguqulweni zangaphambilini.

Umndeni wami ukuthande kakhulu ukuthi kwakulula kanjani ukubuka amavidiyo. Ngosizo lokugebenga kwe-Nginx okuchazwe ngenhla, ukusebenza ngamavidiyo kwaba ngokushesha njengaku-YouTube.

Isikrini sokubuka sibukeka kanje:

Isifiso sami seminyaka eyisishiyagalombili sokwenza amakhasethi evidiyo angama-45 abe yidijithali. Ingxenye 2
Okuqukethwe kwekhathalogi yevidiyo yomndeni ngomaka "Okuhle kakhulu"

Ukuchofoza isithonjana kuveza isikrini esifana nalesi:

Isifiso sami seminyaka eyisishiyagalombili sokwenza amakhasethi evidiyo angama-45 abe yidijithali. Ingxenye 2
Ukubuka isiqeshana esisodwa kuseva yemidiya

Ngemva kweminyaka yokusebenza, bekuvuza ngendlela emangalisayo ukunikeza amalungu omndeni ithuba lokubuka amavidiyo ethu ngendlela efanayo ne-YouTube efana ne-YouTube engangiyifuna ekuqaleni.

Ibhonasi: Yehlisa izindleko zibe ngaphansi kuka-$1 ngenyanga

Awuwabuki amavidiyo asekhaya njalo, njalo ezinyangeni ezimbalwa. Umndeni wami ngokuhlangene ukhiqize cishe amahora angama-20 wethrafikhi ngonyaka, kodwa iseva ibisebenza 15/99,7. Ngikhokhe u-$XNUMX njalo ngenyanga ngeseva eyayiphansi ngo-XNUMX% wesikhathi.

Ekupheleni kuka-2018, i-Google ikhiphe umkhiqizo I-Cloud Run. Isici sokubulala sasisebenzisa iziqukathi ze-Docker ngokushesha kangangokuthi uhlelo lokusebenza lungaphendula izicelo ze-HTTP. Okusho ukuthi, iseva ingahlala ikumodi yokulinda futhi iqale kuphela uma othile efuna ukuyifinyelela. Ngokusebenza okungavamile kwezicelo ezifana nezami, izindleko zehlile zisuka ku-$15 ngenyanga zaya kumasenti ambalwa ngonyaka.

Ngezizathu engingasazikhumbuli, i-Cloud Run ayizange isebenze ngesithombe sami seMediaGoblin. Kodwa ngokufika kwe-Cloud Run ngakhumbula lokho Heroku inikeza isevisi efanayo mahhala, futhi amathuluzi abo asebenziseka kalula kakhulu kunawakwa-Google.

Ngeseva yohlelo lokusebenza yamahhala, izindleko kuphela ukugcinwa kwedatha. Isitoreji sesifunda esijwayelekile se-Google sibiza amasenti angu-2,3/GB. Ingobo yomlando yevidiyo ithatha u-33 GB, ngakho ngikhokha amasenti angu-77 kuphela ngenyanga.

Isifiso sami seminyaka eyisishiyagalombili sokwenza amakhasethi evidiyo angama-45 abe yidijithali. Ingxenye 2
Lesi sixazululo sibiza u-$0,77 kuphela ngenyanga

Amathiphu alabo abahlela ukuzama

Kusobala ukuthi lolu hlelo lwangithatha isikhathi eside. Kodwa ngithemba ukuthi lesi sihloko sizokusiza ukuthi ulondoloze u-80-90% womzamo wokwenza idijithali nokushicilela amavidiyo akho asekhaya. Esigabeni esihlukile ungathola umhlahlandlela onemininingwane wesinyathelo ngesinyathelo kuyo yonke inqubo, kodwa nanka amathiphu ajwayelekile:

  • Phakathi nesigaba sokwenza amadijithi nokuhlela, gcina imethadatha eningi ngangokunokwenzeka.
    • Ulwazi olubalulekile luvame ukuqoshwa kumalebula ekhasethi levidiyo.
    • Gcina umbhalo walokho ukuthi yisiphi isiqeshana esishuthwe kuyiphi iteyipu futhi ngokulandelana.
    • Bhala phansi usuku lokuthwebula, olungase luvele kuvidiyo.
  • Cabangela ukukhokhela izinsiza ezichwepheshile zedijithali.
    • uzokwenza kanjalo kakhulu kunzima futhi kuyabiza ukuwafanisa ngokwekhwalithi yokwenza idijithali.
    • Kodwa qhelelana nenkampani ebizwa nge-EverPresent (ngithumele umlayezo uma udinga imininingwane).
  • Uma wenza idijithali ngokwakho, thenga i-HDD.
    • Ividiyo yencazelo ejwayelekile engacindezelwe ithatha u-100-200 MB ngomzuzu.
    • Ngagcina konke kimi I-Synology DS412 + (10 TB).
  • Rekhoda imethadatha ngefomethi ethile evamile engaboshelwe kuhlelo lokusebenza oluthile.
    • Izincazelo zesiqeshana, amakhodi esikhathi, izinsuku, njll.
    • Uma ulondoloza imethadatha ngefomethi eqondene nohlelo lokusebenza (noma okubi nakakhulu, ungayilondolozi nhlobo), ngeke ukwazi ukuwenza kabusha umsebenzi uma unquma ukusebenzisa isisombululo esihlukile.
    • Njengoba uhlela, ubona imethadatha eminingi ewusizo kuvidiyo. Uzolahlekelwa yizo uma ungazilondolozi.
      • Kwenzekani kuvidiyo?
      • Obani ababhalisiwe lapho?
      • Kwaqoshwa nini lokhu?
  • Maka amavidiyo akho owathandayo.
    • Uma sikhuluma iqiniso, amavidiyo amaningi asekhaya ayisicefe.
    • Ngifaka umaka β€œongcono kakhulu” eziqeshaneni engizikhonzile futhi ngizivule lapho ngifuna ukubuka amavidiyo ahlekisayo.
  • Hlela isixazululo esibanzi ngokushesha ngangokunokwenzeka ukuze inqubo ihambe iqonde kusukela ekuqaleni kuya ekugcineni.
    • Ngizame ukwenza wonke amakhasethi abe yidijithali kuqala, bese ngihlela wonke amakhasethi, njll.
    • Ngifisa sengathi ngabe ngaqala ngekhasethi eyodwa ngenze wonke umsebenzi ngayo. Khona-ke ngangizoqonda ukuthi yiziphi izinqumo futhi yiziphi izigaba ezithinta umphumela wokugcina.
  • Qhubeka urekhoda okungenani.
    • Ngaso sonke isikhathi uma uhlela noma ubhala kabusha isiqeshana, wehlisa ikhwalithi yaso.
    • Faka idijithali izithombe zakho ezingahluziwe ngekhwalithi ephezulu, bese weqa isiqeshana ngasinye kanye ngendlela iziphequluli ezinikeza ngayo.
  • Sebenzisa ikhambi elilula ngangokunokwenzeka ukushicilela iziqeshana zevidiyo.
    • Uma sibheka emuva, iMediaGoblin ibonakala iyithuluzi eliyinkimbinkimbi ngokwedlulele lesimo esilula sokukhiqiza amakhasi ewebhu ngesethi engashintshi yamafayela evidiyo.
    • Ukube bengiqala phansi, bengizosebenzisa ijeneretha yesayithi emile efana Hugo, Jekyll noma I-Gridsome.
  • Yenza ukufakwa.
    • Ukuhlela ividiyo kuyindlela ejabulisayo yokuhlanganisa izikhathi ezihamba phambili ezivela kumavidiyo amaningi.
    • Okubalulekile ekuhleleni umculo. Isibonelo, itimu iyamangalisa Iqhwa Elinensayo kusuka ku-National, lokhu engikutholile mathupha.

Source: www.habr.com