O la'u su'esu'ega e valu tausaga e fa'akomepiuta 45 kaseti vitio. Vaega 2

O le vaega muamua o loʻo faʻamatalaina ai le faigata o le sailiga e faʻafuainumera vitiō tuai a aiga ma vaevaeina i ni vaaiga eseese.. Ina ua uma ona faʻagasolo uma ata, sa ou manaʻo e faʻatulaga a latou matamata i luga ole laiga e faigofie e pei ole YouTube. Talu ai o nei mea e manatua e le tagata lava ia o le aiga, e le mafai ona lafoina i luga ole YouTube lava ia. Matou te manaʻomia se faʻasalalauga faʻapitoa e faigofie ma malupuipuia.

Laasaga 3: Lomiga

ClipBucket, o se puna tatala YouTube clone e mafai ona faʻapipiʻi i lau lava server

O le mea muamua na ou taumafai ClipBucket, lea e taʻua o ia lava o se YouTube clone tatala-puna e mafai ona e faʻapipiʻi i luga o lau 'auʻaunaga.

O la'u su'esu'ega e valu tausaga e fa'akomepiuta 45 kaseti vitio. Vaega 2

O le mea e ofo ai, ClipBucket e leai ni fa'atonuga fa'apipi'i. Faafetai i i pulega i fafo я otometi le faiga fa'apipi'i faatasi ai ma le fesoasoani E mafai, o se meafaigaluega e pulea le faʻatulagaina o le server.

O se vaega o le faigata o le faʻapipiʻiina o tusitusiga ClipBucket ua matua gau. I lena taimi na ou galue i Google ma e tusa ai ma tuutuuga o le konekarate e leʻi i ai saʻu aia tatau e saofagā ai i le puna tatala YouTube clone, ae o aʻu lafo se lipoti bug, lea e faigofie ai ona fai faasa'oga mana'omia. Ua mavae masina, ae latou te leʻi malamalama lava po o le ā le faafitauli. Nai lo lena sa latou faaopoopo mea uma sili atu bug i fa'asalalauga uma.

O le ClipBucket na fa'agaoioia i luga o se fa'ata'ita'iga faufautua—na latou fa'amatu'u fua a latou fa'ailoga ma totogi mo fesoasoani fa'apipi'i. Na faasolosolo malie mai ia te aʻu o se kamupani e maua tupe mai le lagolago totogi atonu e le fiafia tele i le faʻapipiʻiina e tagata faʻatau le oloa.

MediaGoblin, o se isi mea fa'aonaponei

Ina ua mavae masina o le le fiafia ia ClipBucket, sa ou tilotilo i filifiliga avanoa ma maua MediaGoblin.

O la'u su'esu'ega e valu tausaga e fa'akomepiuta 45 kaseti vitio. Vaega 2
MediaGoblin ose fa'asalalauga fa'asalalauga tu'ufa'atasi

MediaGoblin e tele naua mea lelei. E le pei o ClipBucket i le PHP le lelei, MediaGoblin o loʻo tusia i le Python, o se gagana e tele loʻu poto masani i le coding. 'A'ai fa'atonuga laina laina, lea e mafai ai e oe ona faʻaogaina faigofie le faʻapipiʻiina o vitio. Ae sili ona taua, MediaGoblin sau ma Ata Docker, lea e faʻaumatia soʻo se faʻafitauli faʻapipiʻi.

Docker ose tekonolosi e fa'atupuina ai se si'osi'omaga tuto'atasi mo se talosaga e tamo'e i so'o se mea. Ou te faʻaaogaina Docker i totonu tele o ana galuega faatino.

Le fa'ate'ia faigata o le toe fa'asalaina MediaGoblin

Na ou manatu o le faʻaogaina o le MediaGoblin docker image o se galuega faʻatauvaʻa. Ia, e le'i lelei lena auala.

O le ata mae'a e le'i iai ni galuega talafeagai se lua:

  • Fa'amaoni
    • MediaGoblin e fa'atupuina se fa'asalalauga fa'asalalau fa'alaua'itele e ala i le le mafai, ma sa ou mana'omia se auala e fa'atapula'a ai le avanoa i tagata i fafo.
  • Transcoding
    • Soo se taimi lava e te la'uina ai se vitio, e taumafai le MediaGoblin e fa'aliliuina mo le fa'aola lelei. Afai o le vitio ua saunia muamua mo le tafe, transcoding e faʻaleagaina le lelei.
    • MediaGoblin saunia fa'agata le transcoding e ala i le fa'atulagaina o filifiliga, ae e le mafai ona faia i se ata Docker o iai.

Ia, leai se fa'afitauli. O le ata Docker e sau ma puna tatala, e mafai la toe fausia e oe lava.

Ae paga lea, o le ata Docker e le o toe fausia mai le taimi nei. MediaGoblin faleoloa. Na ou taumafai e faʻafetaui ma le faʻasologa mai le fausiaina manuia mulimuli, ae na le manuia foi. E ui lava na ou faʻaogaina le code tutusa, MediaGoblin's faʻalagolago i fafo na suia, malepelepe le fausiaina. Ina ua mavae le tele o itula, sa ou tamoe i le 10-15 minute MediaGoblin faufau faasolosolo faiga seia iu ina aoga.

I ni nai masina mulimuli ane na tupu ai le mea lava lea e tasi. I le aotelega, o le MediaGoblin dependency chain ua motusia laʻu fale i le tele o taimi i le lua tausaga ua tuanaʻi, ma o le taimi mulimuli na tupu naʻo aʻo ou tusia lenei tusiga. Na iu ina ou lomia lava tui ole MediaGoblin c fa'alagolago malosi ma fa'amatalaga fa'amaoti fa'apitoa o faletusi. I se isi faaupuga, nai lo le masalosalo masalosalo e galue MediaGoblin ma soʻo se faʻamatalaga seleli > = 3.0, na ou faʻapipiʻiina se faʻalagolago faʻapitoa seleri 4.2.1ona sa ou tofotofoina MediaGoblin i lenei lomiga. E foliga mai e manaʻomia e le oloa e mafai ona toe fausia le masini, ae ou te lei faia lava.

Ae ui i lea, ina ua mavae le tele o itula o tauiviga, na iu lava ina mafai ona ou fausia ma fetuutuunai MediaGoblin i se ata Docker. Sa faigofie lava iina fa'amisi transcoding le mana'omia и faʻapipiʻi Nginx mo le faʻamaoni.

Laasaga 4. talimalo

Talu ai o MediaGoblin o loʻo faʻatautaia Docker i luga o laʻu komepiuta i le lotoifale, o le isi laasaga o le tuʻuina atu lea i luga o le cloud server ina ia mafai e le aiga ona matamata i le vitio.

MediaGoblin ma le faafitauli o le teuina o vitio

E tele faʻavae e ave se ata Docker ma faʻafeiloaʻi i luga o se URL lautele. O le puʻeina o le faʻaopoopoga i le app lava ia, 33 GB o faila vitio e tatau ona lolomiina. Na mafai ona faʻamalosi faʻailoga i latou i se ata Docker, ae o le a faigata ma mataga. O le suia o le laina e tasi o le faʻatulagaina e manaʻomia ai le toe faʻaleleia o le 33 GB o faʻamaumauga.

Ina ua ou faaaogaina ClipBucket sa ou foia le faafitauli i gcsfuse - o se aoga e mafai ai e le faiga faʻaogaina ona tuʻuina atu faʻamaumauga ile Google Cloud cloud storage e fai ma auala masani ile faila faila. Na ou talimalo i faila vitio i luga o Google Cloud ma faʻaogaina le gcsfuse e faʻaalia i ClipBucket o faila i le lotoifale.

O le eseesega o le ClipBucket na tamoe i se masini komepiuta moni, ao MediaGoblin na tamoe i totonu o se pusa Docker. O iinei, o le faʻapipiʻiina o faila mai le teuina o ao na sili atu ona faigata. Sa ou faaaluina le tele o itula e foia ai faafitauli uma ma tusi e uiga i ai pou blog atoa.

O la'u su'esu'ega e valu tausaga e fa'akomepiuta 45 kaseti vitio. Vaega 2
MediaGoblin's uluai tuʻufaʻatasia ma le Google Cloud storage, lea o loʻo ou talanoa ai taʻu mai i le 2018

Ina ua mavae ni nai vaiaso o fetuunaiga uma vaega, sa aoga mea uma. E aunoa ma le faia o ni suiga i le code a MediaGoblin, na ou faaseseina i le faitau ma le tusiaina o faila o faasalalauga i Google cloud storage.

Na pau lava le faʻafitauli o le MediaGoblin na faʻagesegese. Na alu atoa le 20 sekone mo ata vitio e uta i luga o le itulau autu. Afai e te oso i luma a'o e matamata i se vitio, o le a malolo MediaGoblin mo se 10 sekone e le uma a'o le'i toe faaauau le ta'aloga.

O le fa'afitauli tele, o vitio ma ata na alu i se auala umi, taamilo i le tagata fa'aoga. Sa tatau ona latou o ese mai le Google cloud storage e ala i le gcsfuse i MediaGoblin, Nginx - ona faatoa latou oo atu lea i le suʻesuʻega a le tagata faʻaoga. O le fagufa'amau autu o le gcsfuse, lea e le'o fa'atatauina mo le saoasaoa. Ua lapataia e le au atiaʻe e uiga i le tuai tele i le faʻaogaina o le aoga i luga o le itulau autu o le poloketi:

O la'u su'esu'ega e valu tausaga e fa'akomepiuta 45 kaseti vitio. Vaega 2
Lapataiga e uiga i le maualalo o le faatinoga i le pepa gcsfuse

O le mea lelei, e tatau i le su'esu'e ona aumai sa'o faila mai le Google Cloud, fa'asaga i so'o se fa'ava'a. E fa'afefea ona e faia lenei mea e aunoa ma le ma'ulu i totonu o le MediaGoblin codebase po'o le fa'aopoopoina o Google Cloud integration logic?

Sub_filter togafiti i le nginx

O le mea e laki ai na ou mauaina se fofo faigofie, e ui lava sina vaega matagā. Na ou faaopoopo i le default.conf configuration i Nginx sea ​​faamama:

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

I laʻu seti, na galue Nginx o se sui i le va o MediaGoblin ma le tagata faʻaaoga mulimuli. O le faʻatonuga o loʻo i luga o loʻo faʻatonuina ai Nginx e suʻe ma sui uma MediaGoblin HTML tali aʻo leʻi tuʻuina atu i latou i le tagata faʻaaoga mulimuli. Ua suia e Nginx auala uma e fesoʻotaʻi ai i faila faʻasalalau MediaGoblin ma URL mai le Google cloud storage.

Mo se faʻataʻitaʻiga, MediaGoblin gaosia HTML pei o lenei:

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

Ua suia e Nginx le tali:

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

O lea la ua sologa lelei mea uma e pei ona faamoemoeina:

O la'u su'esu'ega e valu tausaga e fa'akomepiuta 45 kaseti vitio. Vaega 2
Ua toe tusia e Nginx tali mai le MediaGoblin ina ia mafai e tagata faʻatau ona talosagaina faila faʻasalalau saʻo mai le Google cloud storage

O le vaega sili e uiga i laʻu fofo e le manaʻomia ni suiga i le MediaGoblin code. O le fa'atonuga e lua-laina a Nginx e tu'ufa'atasia ai le MediaGoblin ma le Google Cloud, e ui lava e leai se mea e iloa e le au'aunaga e uiga i le tasi ma le isi.

mataʻi: O lenei fofo e manaʻomia ai faila ile Google cloud storage e mafai ona faitau e tagata uma. Ina ia faʻaitiitia le lamatiaga o le avanoa e le faʻatagaina, ou te faʻaogaina se igoa pakete umi, faʻafuaseʻi (eg. mediagoblin-39dpduhfz1wstbprmyk5ak29) ma fa'amaonia e le fa'atagaina e tagata fa'aoga le fa'atagaina e fa'aalia mea o lo'o i totonu o le lisi.

Fa'ai'uga oloa

I le taimi nei sa ou maua se fofo atoatoa, galue. Na tamo'e fiafia le MediaGoblin i totonu o lana koneteina i luga o le Google's cloud platform, o lea e le manaʻomia ai ona faʻapipiʻi pe faʻafouina soo. O mea uma i la'u fa'agasologa sa otometi ma toe gaosia, fa'ataga mo fa'atonuga faigofie po'o le toe fa'afo'i atu i lomiga muamua.

Na fiafia tele loʻu aiga i le faigofie o le matamata i vitio. Faatasi ai ma le fesoasoani a le hack Nginx o loʻo faʻamatalaina i luga, o le galue i vitio na vave pei o YouTube.

O le mata'imata e fa'apea:

O la'u su'esu'ega e valu tausaga e fa'akomepiuta 45 kaseti vitio. Vaega 2
Anotusi o le lisi o vitio a le aiga e ala i le pine "Lelei"

O le kiliki i luga o le tamaitusi e maua ai se lau e pei o lenei:

O la'u su'esu'ega e valu tausaga e fa'akomepiuta 45 kaseti vitio. Vaega 2
Va'aiga i se kilipa se tasi i luga o se 'au'aunaga fa'asalalau

Ina ua mavae le tele o tausaga o galuega, sa matua tauia lava le tuʻuina atu i tagata o le aiga le avanoa e matamata ai ia matou vitio i le faʻaoga tutusa YouTube-pei o le faʻaoga na ou manaʻo ai.

Ponesi: Fa'aitiitia tau i lalo ole $1 ile masina

E te le matamata soo i vitio i fale, na o nai masina uma. O loʻu aiga na faʻaputuina e tusa ma le 20 itula o feoaiga i le tausaga, ae o loʻo faʻagaoioia le server 15/99,7. Na ou totogiina le $ XNUMX i masina taʻitasi mo se 'auʻaunaga na paʻu i lalo XNUMX% o le taimi.

I le faaiuga o le 2018, Google faʻasalalau le oloa Aotelega. O le uiga fasioti tagata na faʻatautaia vave pusa Docker e mafai ai e le talosaga ona tali atu i talosaga HTTP. O lona uiga, e mafai e le 'au'aunaga ona tumau i le tulaga fa'atalitali ma amata na'o le taimi e mana'o ai se tasi e maua. Mo talosaga e seasea faia e pei o aʻu, ua paʻu le tau mai le $15 i le masina i nai sene i le tausaga.

Mo mafuaaga ou te le toe manatua, e leʻi galue le Cloud Run i laʻu ata MediaGoblin. Ae o le oʻo mai o Cloud Run na ou manatuaina lena mea Heroku ofo atu se auaunaga fa'apena e leai se totogi, ma o latou meafaigaluega e sili atu le fa'aoga-tagata nai lo Google.

Faatasi ai ma se sapalai talosaga e leai se totogi, na o le pau lava le tau o le teuina o faʻamaumauga. E 2,3 sene/GB le tau ole teuina fa'aitulagi masani a Google. O le fa'amaumauga o ata vitio e ave i luga le 33 GB, o lea ou te totogiina na o le 77 sene i le masina.

O la'u su'esu'ega e valu tausaga e fa'akomepiuta 45 kaseti vitio. Vaega 2
O lenei fofo e tau na'o le $0,77 i le masina

Fautuaga mo i latou e fuafua e taumafai

E manino lava o le faagasologa na umi se taimi. Ae ou te faʻamoemoe o le a fesoasoani lenei tusiga ia te oe e faʻasaoina le 80-90% o le taumafaiga o le numera ma le lolomiina o au vitio fale. I se isi vaega e mafai ona e mauaina faʻamatalaga faʻasolosolo taʻiala i le faagasologa atoa, ae o nisi nei o fautuaga lautele:

  • I le taimi o le fa'avasegaina ma le fa'ata'ita'iga, fa'asao le tele o metadata e mafai.
    • O fa'amatalaga taua e masani ona fa'amauina i luga o igoa o kaseti vitiō.
    • Fa'amaumau po'o fea le kilipa na pu'eina mai le fea lipine ma le fa'asologa.
    • Tusi i lalo le aso na pueina ai, lea e ono aliali mai i luga o le vitio.
  • Mafaufau e totogi mo auaunaga faakomepiuta faapolofesa.
    • E te faia matua e faigata ma taugata e fa'atusaina i latou i tulaga o le numera numera.
    • Ae alo ese mai se kamupani e taʻua o EverPresent (feʻau mai ia te aʻu pe a e manaʻomia ni faʻamatalaga).
  • Afai e te faia le numera o oe lava, faʻatau se HDD.
    • Vitio fa'amalamalamaga masani e le fa'apipi'iina e 100-200 MB ile minute.
    • Sa ou teuina mea uma ia te au Synology DS412 + (10 TB).
  • Fa'amaumau metadata i nisi fa'asologa masani e le o noatia i se talosaga fa'apitoa.
    • Fa'amatalaga ata, taimi fa'ailoga, aso, ma isi.
    • Afai e te fa'asaoina metadata i se fa'atonuga fa'apitoa (pe sili atu le leaga, aua le fa'asaoina uma), o le a le mafai ona e toe faia le galuega pe a e filifili e fa'aoga se isi fofo.
    • A'o e fa'asa'o, e te va'aia le tele o metadata aoga ile vitio. E te leiloa i latou pe a e le faasaoina.
      • O le a le mea o loʻo tupu i le vitio?
      • O ai ua lesitala iina?
      • O anafea na faamaumauina ai lenei mea?
  • Faailoga au vitio e sili ona e fiafia i ai.
    • E fa'amaoni, o le tele o vitio i fale e fai si manaia.
    • Ou te fa'aogaina le pine "sili ona lelei" i kilipi e sili ona ou fiafia i ai ma tatala pe a ou mana'o e matamata i vitio malie.
  • Faatulaga se fofo atoatoa i le vave e mafai ai ina ia alu sa'o le faagasologa mai le amataga seia mae'a.
    • Sa ou taumafai e faavasega muamua lipine uma, ona toe faasa'o uma lea o lipine, ma isi.
    • Maimau pe ana ou amata i se lipine e tasi ma faia uma galuega i ai. Ona ou malamalama lea po o fea filifiliga ma po o a vaega e aafia ai le taunuuga mulimuli.
  • Fa'aauau le toe fa'ailoga i se tulaga maualalo.
    • Soo se taimi lava e te fa'asa'o ai pe toe fa'ailogaina ai se kilipa, e te fa'aitiitia ai lona lelei.
    • Fa'anumera lau ata mata'utia i le tulaga aupito maualuga, ona fa'aliliuina lea o kilipa ta'itasi sa'o i le fa'asologa e fa'asolo e tagata su'esu'e.
  • Fa'aoga le fofo sili ona faigofie e lolomi ai ata vitio.
    • I le toe tepa i tua, MediaGoblin e foliga mai o se meafaigaluega e sili atu le lavelave mo le faʻataʻitaʻiga faigofie o le fausiaina o itulau uepi ma se seti o faila vitio.
    • Afai ou te toe amata, ou te faʻaogaina se faʻapipiʻi nofoaga e pei o Hugo, Iekyll poʻo Mata'utia.
  • Fai le faʻapipiʻiina.
    • Fa'ata'ita'iga vitiō o se auala malie e tu'ufa'atasia ai taimi sili ona lelei mai le tele o vitio.
    • O le mea autu i le teuteuina o musika. Mo se faʻataʻitaʻiga, o le autu e ofoofogia Kiona Lemu mai le National, o laʻu lava mea na maua.

puna: www.habr.com